ESXi-Customizer

 ESXi-Customizer is a user-friendly script that automates the process of customizing the ESXi install-ISO with drivers that are not originally included. Unlike other scripts and manuals that are available for this purpose ESXi-Customizer runs entirely on Windows and does not require any knowledge of or access to Linux.


Requirements
  • The script runs on Windows XP or newer (both 32-bit and 64-bit) including the latest version Windows 8.1 and Server 2012 R2.
  • For customizing ESXi 4.1 Windows 7 (32-bit or 64-bit) or Windows Server 2008 R2 and administrative privileges are required.
  • You need to have a copy of the original VMware install-ISO. It is available at VMware (free registration required to download). The script currently supports ESXi version 4.1, 5.0, 5.1 and 5.5.
  • For ESXi 4.1 you need to have a OEM.tgz file with a custom driver.
  • For ESXi 5.x you need to have a OEM.tgz, a VIB file or an Offline Bundle ZIP file.
  • A good source for ESXi 4.1 and 5.x community drivers is Dave Mishchenko's vm-help.com site. See the ESXi 4.1 Whitebox HCL and the forums there.
Instructions
  • Download the latest version of the ESXi-Customizer script (see Download section below). Since version 2.0 it is distributed as a signed self-extracting archive (created with 7-zip). Unpack the archive to a directory of your choice.
  • Run ESXi-Customizer.cmd from the installation directory.
  • A GUI will show up that lets you select the original VMware install-ISO, the customization file and a working directory for the script.
ESXi-Customizer v2.7.2 GUI
  • For TGZ files you can choose a repacking option: The default is Force repacking, because this is how older versions behaved, other choices are Do not touch and Force repacking and pause for advanced editing. Hover your mouse over these options to get tooltips displayed with information on their purposes.
  • Please use the update check feature if possible to be informed about updates of this script.
  • Press the Run!-button to start the customization process.
  • The script will auto-detect the ESXi version.
  • If you try to customize an ESXi 4.1 media and you do not have administrative privileges or have UAC (User account control) enabled in Windows you will be prompted to allow the script to run with administrative access. Enter the credentials of an administrative user if needed and select Yes to continue.
  • The customized ISO file that is produced by the script will be stored in the working directory, together with a detailed log file (that is necessary for troubleshooting in case something goes wrong).
Licensing
  • ESXi-Customizer is licensed under the GNU GPL version 3 (see the included file COPYING.txt).
  • It is distributed with and makes use of several tools that are freely available, but are partly under different licenses (see the included file tools\README.txt for details.)
Support
  • Please check the "Known Bugs and Issues" section first to see if your issue is covered there.
  • If you have trouble using the scripts then please send an email to ESXi-Customizer@v-front.de. Be sure to include the log file(s). Otherwise I might just ignore your message.
Download
Donate
  • If you find ESXi-Customizer useful consider donating a small amount to motivate the author and support the further development. I recommend 4 EUR (approx. 5 US-$, use an Online Exchange rate calculator), but any lower or higher amount is highly appreciated.
Known Bugs and Issues
  • ESXi 5.x install ISOs that were customized with ESXi-Customizer can not be imported into VMware vCenter Update Manager. There is no resolution for this issue.
  • With ESXi-Customizer you cannot apply a VMware patch bundle to the ESXi 5.x ISO, because it is much more complex than a driver package (Error message: Cannot apply VIB esx-base, it contains a wrong number of payloads). There is no resolution for this issue.
  • Special characters in the customization package file name (like parentheses) can cause ESXi-Customizer to fail. Workaround: Rename the file to not include special characters.
  • You can only add one package at a time. If you have the need to add e.g. multiple VIB files then run ESXi-Customizer multiple times and use the output ISO of one run as the input for the next run. Alternatively you can create an Offline Bundle (ZIP file) of all VIB files (using vib2zip.cmd from my ESXi5 Community Packaging Tools) and use that Offline Bundle.
Changes/History

v2.7.2 (2014-01-02):
  • The included mkisofs tool (that is used to build the customized ISO file) was replaced by a newer version that does no longer produce ISO files with corrupt headers when used with the UEFI boot option. In earlier versions I made the UEFI boot optional (and disabled by default), because it would create invalid ISO files that can not be opened by ESXi-Customizer itself or other applications. This is now fixed, and UEFI boot is no longer an option, but always enabled.
  • added checks for Windows versions 8 and 8.1 resp. Server 2012 (R2)
  • added checks for "(" and ")" in package file name (would make the script fail).
  • moved version check script to vibsdepot.v-front.de
v2.7.1 (2012-07-15):
  • Fixed "Dell" bug (% in host profile xml name, QFE270001)
  • Minor code changes to adapt to upcoming minor update releases of ESXi 5 (5.x)
v2.7 (2012-02-21):
  • Moved the TGZ2VIB5.cmd tool to the new ESXi5 Community Packaging Tools
  • Replaced the Advanced Edit feature with more flexible choices for TGZ repacking
  • When adding an Offline bundle zip file have addition of each contained VIB file confirmed
  • Added *Deprecated* warning when adding TGZ file to ESXi 5.x
  • replaced some UnxUtils tools with busybox calls
v2.6.2 (2011-12-13):
  • now really fixed the bug with VIB handling resulting in error messages like this one:
    IOError: [Errno 2] No such file or directory: '/tardisks/net-e100.v01'
v2.6.1 (2011-12-04):
  • fixed a bug with VIB handling resulting in error messages like this one:
    IOError: [Errno 2] No such file or directory: '/tardisks/net-e100.v01'
  • Updated TGZ2VIB5.cmd to version 1.0.1: fixes "Advanced edit mode"
v2.6 (2011-11-17):
  • added option to create (U)EFI-bootable ISO for ESXi 5.x
  • warn if a ESXi 4.x OEM.tgz file is to be added to an ESXi 5.x ISO (the top support issue ...)
  • added developer tool script TGZ2VIB5.cmd to convert an OEM.tgz-style ESXi 5.x driver package into vib-format
v2.5 (2011-09-29):
  • added support for adding VIB files and Offline bundles (zip-format) to ESXi 5.x
  • Fixed UAC-related issues/bugs when customizing ESXi 4.1
  • Fixed bug with unpacking OEM.tgz files
  • Force re-packaging of OEM.tgz-files to fix broken files
  • Changed logging to be less verbose on console
v2.0 (2011-08-25):
  •  added support for customizing ESXi 5.x with standard OEM.tgz files. For ESXi 5.x customizations Windows XP is the minimum OS requirement and administrative rights are not needed.
  • tools\getparams.exe: Network shares will no longer be accepted for the working dir, because the script only supports local hard drives that are NTFS-formatted.
  • Enable more Windows-like script interaction by using message boxes
  • tools\mksiofs.exe: reverted back to cdrtools-3.0, because mkisofs-3.01a05 builds ISOs that 7zip cannot extract
  • changed distribution format to a signed self-extracting archive created with 7-zip
v1.2 (2011-08-10):
  • Finally fixed OEM.tgz re-packaging in advanced edit mode (now using Windows-port of busybox)
  • fixed wget timeout settings for update check
v1.1 (2011-07-28):
  • Changed OEM.tgz re-packaging in advanced edit mode (using 7zip.exe results in ESXi installation errors)
  • added update check feature to inform users about newer versions of the script
  • added README.txt to installation directory
  • launch explorer.exe in advanced-edit mode
  • tools\mksiofs.exe: updated to cdrtools-3.01a05 to enable building ISOs with efi-boot support (needed for ESXi 5.0)
  • tools\getparams.exe: fixed URL typo in window title, set default workdir if not defined, get updateCheck flag
v1.0 (2011-07-25):
  • first release