|End of Support notice|
The ESXi-Customizer tool is UNSUPPORTED as of Aug 21st 2015. Any known or new issues will not be fixed. For more information please read this blog post!
You are welcome to use the successor of ESXi-Customizer: The ESXi-Customizer-PS PowerCLI script.
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.
- 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. It does not work with Windows 10!
- 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 5.x community drivers is the V-Front Online Depot.
- 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).
- 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.)
- This tool is unsupported as of Aug 21st, 2015.
- 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.
- This tool does not work with Windows 10. There is no resolution for this issue.
- 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.
- There is an issue with the net-e1000e VIB that was created by George L. Roman (GLR) which prevents ESXi-Customizer to successfully create an ISO file. A possible fix requires a code change that is described in a VMware Forums' thread, but I recommend using my ESXi-Customizer-PS script instead to create the ISO file. With this script it's a one-liner like
ESXi-Customizer-PS-v2.2.ps1 -vft -load net-e1000e
End of support (2015-08-21):
- See End of Support Notice at the top
- 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
- Fixed "Dell" bug (% in host profile xml name, QFE270001)
- Minor code changes to adapt to upcoming minor update releases of ESXi 5 (5.x)
- 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
- 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'
- 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"
- 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
- 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
- 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
- Finally fixed OEM.tgz re-packaging in advanced edit mode (now using Windows-port of busybox)
- fixed wget timeout settings for update check
- 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
- first release