Mounting ISO for installing specific VIBs
search cancel

Mounting ISO for installing specific VIBs

book

Article ID: 390910

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

When installing, patching, or upgrading ESXi, VIBs are used to manage software drivers on the host. If some VIBs are removed, of which includes NIC drivers on the host, it can lead to a host that can't reinstall the VIBs due to being disconnected from repositories containing the VIBs.

This article serves to provide a workaround to locally install VIBs on an ESXi host, when the drivers/VIBs for the host NIC are not present or working.

Environment

ESXi 7.x

ESXi 8.x

Resolution

When a host's NIC-related VIBs have been removed, they must be reinstalled from a local image containing the VIBs. This process involves mounting an ISO image containing the VIBs to the host (using a virtual CD-ROM on the physical host), and then utilizing esxcli on the host's command line to install the VIBs from the ISO image.

Resolution process:

    - Download VIBs needed from support.broadcom.com .

    - Extract each downloaded .zip folder. Each should contain another .zip folder of the same parent folder name. Note the child .zip folders.

    - Place each VIB child .zip folder into a single folder, and then compress that folder into a .zip.

    - Create a ISO image from this new .zip folder, and mount it to the physical host's virtual media (CD-ROM) device.

    - SSH into the ESXi host as the root user, and run vmkload_mod iso9660 .

    - Run esxcfg-mpath -l | grep -i cd-rom to get the virtual CD-ROM's device ID.

              -Example: 

[user@hostname:~]esxcfg-mpath -l | grep -i cd-rom
        Device Display Name: Local USE CD-ROM (mpx.vmhba32:##:##:##)

    - Using the CD-ROM's device ID, run vsish -e set /vmkModules/iso9660/mount <Device ID>

              -Example:        vsish -e set /vmkModules/iso9660/mount mpx.vmhba32:##:##:##

    - cd to the mounted directory

    - Run esxcli software vib install -d="<fileName.zip>"

 


NOTE:    If a failure is thrown referencing index.xml, check the download url path in the error message. If message is referencing some other directory than the mounted path, cp the mounted zip file to there and run the install command again.

Example:

(root@esxi:/vmfs/volumes/vsan:########82#####-1873S###########/0Sd84b66-###-####-####-0055681#####] esxcli software vib install -d="VMware-ESxi-8.0U3-24022510-depot.zip"
   [MetadataDownloadError)
   Could not download from depot at zip:/var/log/vmware/VMware-ESXi-8 .0U3-24022510
-depot.zip?index.xml, skipping (('zip:/var/log/vmware/VMware-ESXi-8 .0U3-24022510
-depot.zip?index.xml', '', "Error extracting index.xml from /var/log/vmware/VMwa
re-ESXi-8 .0U3-24022510-depot.zip: [Errno 2] No such file or directory: ‘/var/log
/vmware/VMware-ESXi-8 . 0U3-24022510-depot.zip'"))
        url = zip:/var/log/vmware/VMware-ESXi-8.0U3-24022510-depot.zip?index.xml
Please refer to the log file for more details.

In the example above, /var/log/vmware is referenced. To fix this, the .zip file must be copied to /var/log/vmware .