Adding Drivers into VMWare ESXi Installation Image

Bintrees發表於2024-05-12

The standard ESXi ISO image doesn’t support most desktop NIC adapters. To install ESXi on such a computer, you will need to inject the drivers for your network adapter into your ESXi installation image

Let’s see how to add the driver to the VMware ESXi 6.x and 7.0 installation ISO. In this example, we’ll show how to integrate the driver for the Realtek network adapter into an ESXi image.

VMware recommends using the official vSphere ESXi Image Builder to customize ESXi images. But it requires vCenter Server Appliance (vCSA). Instead, most system administrators use the third-party ESXi-Customizer tool.

[contents h2]

How to Download Drivers for VMWare ESXi?

First, you must find and download ESXi drivers for your hardware. They can be found:

  • On the VMWare website under VMware Compatibility Guide;
  • You can use ESXi community drivers;
    Community Networking Driver for ESXi (https://flings.vmware.com/community-networking-driver-for-esxi) – a set of ESXi drivers from VMware Community that allows you to use most modern network adapters (not available in VMware HCL) connected via PCIe. USB Network Native Driver for ESXi (https://flings.vmware.com/usb-network-native-driver-for-esxi) – drivers to support popular USB network adapters (ASIX USB 2.0 — ASIX88178a, ASIX USB 3.0 — ASIX88179, Realtek USB 3.0 — RTL8152/RTL8153, and Aquantia AQC111U.
  • Check the hardware vendor’s website;
  • On the website of ESXi-Customizer author’s (https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages). I have downloaded the driver net55-r8168 for my Realtek network adapter here;
  • Use Google search (something like “Realtek NIC drivers for ESXi“).

Please note that you need the driver in one of the following formats: .vib, .tgz or .zip (offline bundle).

download ESXi vib driver net55-r8168 for Realtek network adapter

You can also find the drivers by device VID. Boot your computer using Linux LiveCD and see VID and PID of your device, by running this command:

# lspci -nn

Using these IDs, you can search .vib drivers on the Web.

Adding Drivers to ESXi ISO Image with ESXi-Customizer-PS

The ESXi-Customizer-PS PowerShell script (https://www.v-front.de/p/esxi-customizer-ps.html) can be used to integrate drivers and updates into the ESXi 5.x, 6.x, and 7.0 installation images. To use this script, you must have VMware PowerCLI module installed on your computer.

Download the current version (2.8.2) of the ESXi-Customizer-PS.ps1 file from GitHub (https://github.com/VFrontDe/ESXi-Customizer-PS/releases), unblock the PS1 file downloaded from the Internet (by checking Unblock in its properties), and open the PowerShell console:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

You can display help on the script parameters as follows:

.\ESXi-Customizer-PS.ps1 –help

esxi-customizer powershell script

When running the script, an error may appear:

An unexpected error occured:The VMware.ImageBuilder module is not currently supported on the Core edition of PowerShell.

This means that you are trying to run a PS1 script from a new version of PowerShell Core (pwsh.exe), which is not supported by the ESXi-Customizer-PS. Use the Windows PowerShell console instead (powershell.exe).

List available ESXi images:

.\ESXi-Customizer-PS.ps1 –sip

list available esxi images with powershell

To download the latest ESXi 6.7 ISO image with updates from the VMware Online Depot website, run this command:

.\ESXi-Customizer-PS.ps1 -v67

In the same way you can download other ESXi image versions ( -v70 | -v67 | -v65 | -v60 | -v55 | -v51 | -v50).

The script allows you to use one of three modes:

  • Create an ISO or Offline Bundle installation image directly from the VMware Online depot (default);
  • Create an ISO installation image from the local Offline Bundle file(-izip);
  • Update local ESXi Offline Bundle from VMware Online depot (-izip -update).

In order to generate an ESXi ISO and immediately inject all offline bundles and VIB driver packages from C:\distr\esxi\driver, use this command:

.\ESXi-Customizer-PS.ps1 -v67 -pkgDir C:\distr\esxi\driver

ESXi-Customizer-PS add vib drivers to the esxi image

The installation ESXi ISO image will appear in the target directory in 15-20 minutes.

If you want to download the Offline bundle image instead of the installation ISO image, use the option -ozip.

You can modify the offline bundle (this is a ZIP archive with ESXi installation files) by adding all VIB drivers from the specified directory to it:

.\ESXi-Customizer-PS.ps1 -izip .\VMware-ESXi-6.7.0-HPE-Gen9plus.zip -pkgDir C:\distr\esxi\driver

Using the following command, you can create an ESXi ISO from your offline bundle:

.\ESXi-Customizer-PS.ps1 -izip .\VMware-ESXi-6.7.0-HPE-Gen9plus.zip

The V-Front online repository has a rather large library of vib drivers. You can integrate specific drivers from this repository into an ESXi image like this:

.\ESXi-Customizer-PS.ps1 -v67 -vft -load sata-xahci,net55-r8168,net-e1000e,esx-ui

In this example, we’ll integrate the following drivers into the ESXi distribution:

  • net-e1000e – a network driver for Intel I21782579LM/82574L;
  • net51-r8169 – Realtek 8168/8111/8411/8118 NIC driver (it has been removed from ESXi 5.1 and newer);
  • esx-ui — ESXi Embedded Host Client, a convenient host web interface (used by default from esxi 5.5);
  • sata-xahci — map driver to correctly identify some SATA controllers.

As a rule, for most desktop devices it is enough to add the following drivers to the ESXi image:

-v60 -sip -vft -load net-e1000e,net51-r8169,net55-r8168,esx-ui,sata-xahci,net51-sky2,esxcli-shell

To update the Offline bundle with the latest patches from the VMware repository:

.\ESXi-Customizer-PS.ps1 -v67 -izip .\VMware-ESXi-6.7.0-HPE-Gen9plus.zip -update

If you receive: An unexpected error occured: Could not find trusted signer while exporting the image, disable driver signature verification with the -nsc (-noSignatureCheck) option. Also, try this option if an error occurs:

[WinError 10054] An existing connection was forcibly closed by the remote host.

Inject Custom Drivers to ESXi Image with ESXi-Customizer GUI

ESXi-Customizer (GUI) is a small graphical tool with a simple interface that allows you to automate the process of integrating drivers and .vib files into an ESXi ISO image.

The ESXi-Customizer has not been updated since 2016. The developer reports that only ESXi versions 4.1, 5.0, 5.1, and 5.5 are supported. However, below is a small trick that allows you to use the ESXi-Customize GUI even for new ESXi versions (6.5, 6.7, and 7.0).

Download ESXi-Customizer-v2.7.2.exe (https://www.v-front.de/p/esxi-customizer.html), extract the archive, and run the tool (ESXi-Customizer.cmd). ESXi-Customizer doesn’t officially support modern Windows versions, so when started in Windows 10 or 11, an error appears:

---------------------------
ESXi-Customizer v2.7.2 - Message
---------------------------
FATAL ERROR: Unsupported Windows Version: 10.0. At least Windows XP is required!

ESXi-Customizer FATAL ERROR: Unsupported Windows Version: 10.0

To fix it, edit the ESXi-Customizer.cmd file and comment out the following line (add REM in the beginning):

if "!WinVer!" LSS "5.1" call :earlyFatal Unsupported Windows Version: !WinVer!. At least Windows XP is required & exit /b 1

edit ESXi-Customizer.cmd in windows 10

Save ESXi-Customizer.cmd file and run it. In the next window, specify the path to the source ESXi ISO image, the driver file (VIB file or TGZ archive with drivers), and the folder, to which the resulting image with the integrated driver must be saved. Uncheck the automatic update option.

ESXi-Customizer GUI Tool

Click the Run button and n a few minutes a new ESXi ISO image will appear in the target directory. You can use this image to install ESXi on your hardware.

If you are trying to add drivers into an ISO image with ESXi 6.7 or 7.0, an error will appear:

FATAL ERROR:
Error un-taring IMGDB.tar!

esxi-customizer gui fatal error: imgdb.tar Error un-taring

In order to fix this fatal error, you need to manually modify the ESXi image:

  1. Extract your VMware ESXi installation ISO to a directory on disk;
  2. Install the 7zip archiver on your computer (you can quickly install apps on your computer using the winget package manager: winget install 7zip.7zip );
  3. Open the file IMGDB.TGZ with 7ZIP and rename the file inside to IMGDB.tar;imgdb.tgz rename file in esxi
  4. Now you need to build the ISO image. You can use the free IsoCreator (download IsoCreator.msi, open the file with 7ZIP, and run IsoCreator.exe);
  5. Specify the directory with the ESXi installation files and the name of the ISO file;build esxi iso image from folder
  6. Now you can use this custom ISO image in ESXi-Customizer GUI.inject drivers to esxi install image via gui

Now you can use your ISO image to deploy ESXi on your target host.

Use vCenter Image Builder to Add Drivers to ESXi Custom Image

In vCenter Server, you can use the built-in Image Builder to modify your ESXi installation images. This service is disabled by default. Enable it via vCenter -> Auto Deploy -> Enable Image Builder.

vmware vcenter: enable image builder

Now you need to create a new Software Depot and import your ISO image, vib (zip) driver files, and the necessary ESXi updates into it.

vcenter: import esxi image and drivers

Now clone your image. When cloning, you can choose which packages (drivers) to add to this ESXi depot.

add driver packages to esxi image builder

After that, click the Export button and download your ESXi installation ISO image with integrated third-party drivers.

相關文章