[ipxe-devel] Booting the ESXi installer with iPXE

Daniel Pittman daniel at puppetlabs.com
Thu Oct 10 19:58:36 UTC 2013


G'day.

I am trying to boot the ESXi 5.5 (and 5.0) installer through iPXE, and
have run into a roadblock: once I chain load to the mboot.c32 supplied
as part of the ESXi installer, the client simply hangs with 100
percent CPU use, and makes no further progress.  No obvious attempts
to try and fetch more content from the client machine.

I am booting the `undionly` version of iPXE, and that works fine for,
eg, CentOS and Ubuntu network installers.  I have also verified that
the ESXi installer will run on the client by using the `sanboot` hook
to connect the ISO image and boot off that.

My boot script, absent error handling, is:

imgload http://172.16.226.5:8080/svc/repo/esxi55/mboot.c32 -c
http://172.16.226.5:8080/svc/repo/esxi55/boot.cfg
boot

My build of iPXE does have COMBOOT support listed in the available features.

I have found that booting to pxelinux, then using that to load iPXE,
then chaining to the mboot.c32 loader, works.  I would much rather
avoid the second bootloader in the chain, though, if I possibly can.

I also considered using the native multiboot support in iPXE, but it
appears that the ESXi modules are compressed, and iPXE doesn't
natively support uncompressing them -- leading to a failure to boot.
(If this can be resolved by changing my build of iPXE, I would be
perfectly happy with that; I would rather not mess with the ESXi
supplied files to decompress them server-side if I can avoid it,
though.)


My concrete questions are:

1. Should I expect a COMBOOT module like the VMWare custom `mboot.c32`
to run with `undionly` iPXE?
2. Can I build iPXE with MBOOT support and zlib decompression?
3. Can anyone direct me to how to get this working otherwise?


I couldn't find anything in the list archives, or the broader
Internet, that answered the first question; for the second I saw there
were some patches but I didn't see evidence they were merged.

I have not actually tested the server-side decompression of mboot
modules from the ESXi installer, which at least some folks noted made
it possible (along with a patch to up the number of mboot modules
supported in iPXE) to boot the installer "natively".

-- 
Daniel Pittman
⎋ Puppet Labs Developer – http://puppetlabs.com
♲ Made with 100 percent post-consumer electrons



More information about the ipxe-devel mailing list