Introduction, or Why I care...
I have been meaning to install ESXi on a server I have sitting in the house for a while but a lack of CD-ROM drive has been stalling things for a while so I wanted to see if there was any chance of booting the ISO image from the network.
The server has internal storage, so I'm not RUNNING ESXi off the PXEBoot image, I'm installing it.
- Yes, there sure is
- All the guides currently around the Internet, SUCK.
Prerequisites, or what you should already know...
You will obviously require a working PXEboot Network infrastructure, which means a functioning TFTP server and a functioning DHCP server, which is setup to give out your TFTP server and PXELinux executable. There are numerous guides on this so I'm not going to go into that here. For reference, I'm running Ubuntu Server 9.10 on my TFTP host and OpenBSD 4.7-current on my DHCP server.
Process, or what the hell do I do...
Get the VMWare ESXi ISO from their website, this should be more straightforward than it is, but what can you do. Once you have the image, use something like Daemon Tools under Windows, or a loopback mount(8) under Linux to get access to the ISO. The root directory of the ISO should look something like this:
boot.cat cimstg.tgz cim.vgz cisco_n1k ienviron.tgz image.tgz install.tgz isolinux.bin isolinux.cfg mboot.c32 menu.c32 README.txt sys.vgz vmkboot.gz vmkernel.gz
If you look at the isolinux.cfg file, you will see what files are loaded for boot. I copied mboot.c32 (the chainloader), and *gz to a subdirectory in my tftpboot dir (the Ubuntu default of /var/lib/tftpboot in my case) called esxi. I then added the following line to my pxelinux.cfg/default file:
LABEL esx kernel mboot.c32 append esxi/vmkboot.gz --- esxi/vmkernel.gz --- esxi/sys.vgz --- esxi/cim.vgz --- esxi/ienviron.tgz --- esxi/install.tgz --- esxi/image.tgz
You should now be able to boot your system and select Network Boot, it will take a while to tftp over the image.tgz file but once it does it should fire up the ESXi installer and let you install as you would over the harddrive. A few minutes later you should have a screen telling you to reboot and then you should have a working ESXi server.