/ESXi-Custom-ISO

VMware ESXi ISO build scripts to integrate common NIC, NVME, USB NIC or Zimaboard drivers for ESXi installation on consumer hardware

Primary LanguagePowerShellApache License 2.0Apache-2.0

☁️ Custom VMware ESXi ISO build scripts

Inject consumer NIC, NVME & USB NIC drivers into ESXi ISO images.

  • Each script will present a menu to select which patch level to build your new ISO.
  • Builds an ESXi 8.x iso with latest NVME & USB NIC Fling drivers + latest GhettoVCB backup. (The VMware Community NIC Fling is built-in from 8.x)
    • For earlier 800, 80U1 or 80U2 builds, see script notes to select the correct USB NIC Fling
  • Builds an ESXi 7.x iso with latest NVME, NIC & USB NIC Fling drivers + latest GhettoVCB backup.

esxi6.7.ps1 (Zimaboard compatible)

  • Builds an ESXi 6.7 iso with latest NVME & USB NIC drivers, Zimaboard Realtek 1GbE NIC driver + latest GhettoVCB backup.

🛠️ Instructions for building ESXi ISOs:

  1. Ensure your local Powershell script policy will allow you to run PS scripts.
Set-ExecutionPolicy Unrestricted -Scope CurrentUser #(and select All)
To restore default policy: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 
  1. (For ESXi 7 & 8 ISOs, GO TO STEP 3) For 6.7 ISOs you must OFFLINE INSTALL PowerCLI 12.7.0 using the method shown below. Download it here. (PowerCLi 12.7.0 is the last Powercli version before Python became an extra requirement)
a. Start with a FRESH Windows system without Powercli ever being installed (Powercli's uninstaller does not appear to remove everything):
b. Extract all the contents of the PowerCLI zip to %ProgramFiles%\WindowsPowerShell\Modules 
c. Unblock the new PowerCLI module files with this PS command:  
    Get-ChildItem -Path $env:PROGRAMFILES\WindowsPowerShell\Modules\ -Recurse | Unblock-File 
d. Run the esxi6.7.ps1 script
  1. For ESXi 7.x and 8.x ISOs: you must install the CURRENT version of VMware PowerCLI and Python > 3.7.1 download it here
a. Run the Python installer and check "Add Python to PATH" a the start of the install, then at the end of the install, select "Disable path length limit". 
b. In Powershell: Install-Module VMware.PowerCLI -Scope CurrentUser (Select Y to install from untrusted repo)
  1. Upgrade Python PIP via Command prompt (assumes 64 bit):
C:\Users\%username%\AppData\Local\Programs\Python\Python37\python.exe -m pip install --upgrade pip
  1. Add Python dependencies for PowerCLI via Command prompt (assumes 64 bit):
C:\Users\%username%\AppData\Local\Programs\Python\Python37\Scripts\pip3.7.exe install six psutil lxml pyopenssl
  1. Adjust the PowerCLI python.exe path and Customer Improvement Program settings (assumes 64 bit):
Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false
Set-PowerCLIConfiguration -PythonPath C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python37\python.exe
  1. Run esxi7.ps1 or esxi8.ps1 to start creating your custom ISO! 🚀
  • Zimaboard users note:
    • Full duplex on the ESXi NIC & physical switch may give better performance, your milage may vary.
    • Zimaboard's optional RTL 8125 2.5GbE NIC driver for ESXi 6.7 can be found here
      • To manually install 2.5GbE driver:esxcli software vib install -v net-r8125-9.011.00-10.vib
      • To manually remove 2.5GbE driver: esxcli software vib remove -n net-r8125

Screenshot