Linux ESXi VMware ImageBuilder

Building a custom ESXi 8.x image to support USB Network Adapter’s

Build a custom image that supports USB 3.0 to Ethernet Adapters (VMKUSB-NIC-FLING), but can be a guide for other ESXi VIB’s or Components udate or install as well.

To support USB NIC’s you must create a custom image using VMware ImageBuilder. This same process is used for new installations and updates. For new installations you will create an ISO image and for updates you will create a ZIP image.

License Key and Download Required Images

1. Get your license key for ESXi 8.x

Login if you already have a account or create one.

../../../_images/Screenshot-login-to-download.png

Example of ESXi 8 License and Download page.

../../../_images/Screenshot_download_ESXi-8.0U1-2.png

Your License Key and download information can be found here

Once you are assigned a license it never changes for ESXi 8.x, so you can always use this link to find your license key. You will need this once ESXi is installed to license the server.

2. Download VMware vSphere Hypervisor (ESXi 8.x) Offline Bundle

Download the latest offline bundle (depot) ZIP file, from the product patches for ESXi 8, go to Product Patches.

This link will have the latest images and may be different from the Product Evaluation link in step 2. You should check this page periodically for updates as well.

Select ESXi (Embedded and Installable) and the version you want in this case you want 8.0

../../../_images/Screenshot-ProductPatches_ESXi8.png

As of this writing ESXi 8.0 update 1 (ESXi-8.0U1) is the latest

3. Download the community USB Network Adapter Fling

Click here to download. USB Network Native Driver for ESXi

Download the file that matches the version of the offline bundle (Depot) image you download in step 3. For ESXi 8.0 update 1 (ESXi80U1).

ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip

../../../_images/Screenshot-VMKUSB-NIC-FLING.png

Install and Configure your workstation to use VMware ImageBuilder

If you have not setup your workstation to support ImageBuilder follow the instructions here.

Building custom image with VMware Imagebuild in PowerShell

Building custom ISO for new install or ZIP file for updates the first few steps are the same. The final step is where you tell ImageBuilder what type of image to build.

In the steps below you will build both the ISO install image and the ZIP update image.

1. Create a working directory and copy files

Create a working directory and copy the VMware-ESXi-8.0U1 depot and ESXi800-VMKUSB-NIC-FLING files to that directory.

# Make build directory and change into it
mkdir $HOME/ESXi-8.0U1-build
cd $HOME/ESXi-8.0U1-build

# Copy VMware Depot image and VMKUSB-NIC-FLING to the build directory
cp $HOME/Downloads/VMware-ESXi-8.0U1*.zip .
cp $HOME/Downloads/ESXi80U1-VMKUSB-NIC-FLING*.zip .

List files

ls -l
total 570188
-rw-r--r-- 1 username username    356110 Apr 27 09:40 ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip
-rw-r--r-- 1 username username 583510716 Apr 27 09:40 VMware-ESXi-8.0U1-21495797-depot.zip

2. Add the ESXi80U1-VMKUSB-NIC-FLING ZIP to the software depot. Must include the full path

Add-EsxSoftwareDepot $HOME/ESXi-8.0U1-build/ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip
Depot Url
---------
zip:/home/username/ESXi-8.0U1-build/ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip?index.xml

3. Get the ESXi80U1-VMKUSB-NIC-FLING VIB Name

Get-EsxSoftwarePackage
Name                     Version                        Vendor     Creation Date
----                     -------                        ------     -------------
vmkusb-nic-fling         1.12-1vmw.801.0.0.64098092     VMW        4/6/2023 12:50:…

4. Add the offline bundle (Depot) image to the software depot. Must include the full path.

Add-EsxSoftwareDepot $HOME/ESXi-8.0U1-build/VMware-ESXi-8.0U1-21495797-depot.zip
Depot Url
---------
zip:/home/username/ESXi-8.0U1-build/VMware-ESXi-8.0U1-21495797-depot.zip?index.xml

5. List the image profiles loaded to find the name of the depot profile

Get-EsxImageProfile
Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
ESXi-8.0U1-21495797-standard   VMware, Inc.    4/18/2023 12:0… PartnerSupported
ESXi-8.0U1-21495797-no-tools   VMware, Inc.    3/25/2023 2:02… PartnerSupported

6. Create a copy of the ESXi-8.0U1-21495797-standard profile and name it ESXi-8.0U1-21495797-USBNIC. -Vendor option can be whatever you want to call it

New-EsxImageProfile -CloneProfile "ESXi-8.0U1-21495797-standard" -name "ESXi-8.0U1-21495797-USBNIC" -Vendor "Home Lab"
Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
ESXi-8.0U1-21495797-USBNIC     Home Lab        4/18/2023 12:0… PartnerSupported

7. List the image profiles loaded to get the name of the newly create image

Get-EsxImageProfile
Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
ESXi-8.0U1-21495797-standard   VMware, Inc.    4/18/2023 12:0… PartnerSupported
ESXi-8.0U1-21495797-no-tools   VMware, Inc.    3/25/2023 2:02… PartnerSupported
ESXi-8.0U1-21495797-USBNIC     Home Lab        4/18/2023 12:0… PartnerSupported

8. Add the vmkusb-nic-fling VIB to the new image profile

For the image profile use the newly created image profile from step 6. For the software package use the VIB name from step 3.

Add-EsxSoftwarePackage -ImageProfile "ESXi-8.0U1-21495797-USBNIC" -SoftwarePackage "vmkusb-nic-fling"
Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
ESXi-8.0U1-21495797-USBNIC      Home Lab        4/26/2023 3:49… PartnerSupported

9. Build the ZIP image to use for updates and name it ESXi-8.0U1-USBNIC.zip

Export-ESXImageProfile -ImageProfile "ESXi-8.0U1-21495797-USBNIC" -ExportToBundle -filepath ESXi-8.0U1-USBNIC.zip
ls -l
total 1140008
-rw-r--r-- 1 username username 583495235 Apr 27 10:14 ESXi-8.0U1-USBNIC.zip
-rw-r--r-- 1 username username    356110 Apr 27 09:40 ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip
-rw-r--r-- 1 username username 583510716 Apr 27 09:40 VMware-ESXi-8.0U1-21495797-depot.zip

10. Build the ISO image to use for new installations and name it ESXi-8.0U1-USBNIC.iso

Export-ESXImageProfile -ImageProfile "ESXi-8.0U1-21495797-USBNIC" -ExportToIso -filepath ESXi-8.0U1-USBNIC.iso
ls -l
total 1754184
-rw-r--r-- 1 username username 628910080 Apr 27 10:18 ESXi-8.0U1-USBNIC.iso
-rw-r--r-- 1 username username 583495235 Apr 27 10:14 ESXi-8.0U1-USBNIC.zip
-rw-r--r-- 1 username username    356110 Apr 27 09:40 ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip
-rw-r--r-- 1 username username 583510716 Apr 27 09:40 VMware-ESXi-8.0U1-21495797-depot.zip

You should have both the ISO image to use for new installations and the ZIP image for updates.

On how to update an ESXi server use this link: