ESXi comes in two flavors, embedded and installable. Installable comes on a CD but if you have to do a number of installs or repeat installs, it’s a bit of a pain to always have the CD ready. Plus in my home lab, my newer servers don’t have a CD-ROM so I have to dig up the portable CD-ROM each time I want to install ESXi. The solution is installing ESXi over the network and this can be done if you have a PXE server on your network.
The steps to accomplish this are fairly simple:
1) Copy the install files to your PXE server from the ESXi install CD. This will include the files BINMOD.TGZ, CIM.TGZ, IENVIRON.TGZ, LICENSE.TGZ, MBOOT.C32, MENU.C32, OEM.TGZ and VMKERNEL.GZ
2) Edit the PXELinux config file and add the following entry
label ESX3i
kernel mboot.c32
append vmkernel.gz --- binmod.tgz --- ienviron.tgz --- cim.tgz --- oem.tgz --- license.tgz --- install.tgz
I used the Ultimate Deployment Appliance (UDA) to install ESXi to a VM running on VMware Workstation. The following steps were required:
1) Create a new template – this can be done via the web interface for the UDA VM. Simply click on the Templates link and then click on Create new template. Enter a template ID and description and click OK. Then click on Finish and then on Save. You can also edit the file /var/public/conf/templates.conf and add the following line. “ESX3i” will be the template name and must be 5 characters.
ESX3i;;configfilename;ESXi Install;00-00-00-00-00-00;
You will then need to edit the file /var/public/tftproot/message.txt and add a line for your new template name along with a short description
2) Edit the file /var/public/tftproot/pxelinux.cfg/default and add the below text.
label ESX3i
kernel mboot.c32
append vmkernel.gz --- binmod.tgz --- ienviron.tgz --- cim.tgz --- oem.tgz --- license.tgz --- install.tgz
Note that subsequent changes to the templates in the UDA web interface may overwrite the entry in /var/public/tftproot/pxelinux.cfg/default so you will have to update it should you make template changes.
3) Copy the files binmod.tgz, cim.tgz, ienviron.tgz, license.tgz, mboot.c32, menu.c32, oem.tgz and vmkernel.gz to the folder /var/public/tftproot/.
Make sure that the case of the file names matches what you have entered in the default file in step 2.
4) Start up your server and select to do a network boot. If your PXE server is functioning properly, you should see the boot option as shown in the video below.