all documents mention syslinux/pxelinux as a way to pxeboot ESXi installation, but I'd like to stay with GRUB 2. How to do that?
I'm able, of course, to load GRUB 2 via network (i386-pc/core.0
for non-UEFI host) but then I can't figure out what should I put to load mboot.c32
or if it is possible to boot b.b00
somehow directly.
You need to configure GRUB for network boot. The GRUB Networking documentation can be viewed on local machine with:
pinfo grub2 --node=Network
A more advanced alternative to grub for PXE booting is iPXE. I find iPXE to be a better replacement for PXELINUX. You can build an iPXE bootable image that suits your needs, or download a generic one. You need just UNDI driver for BIOS and SNP for UEFI. iPXE is very configurable: you can have menus, authentication; supports iSCSI, NFS, CIFS, HTTP(S)... And it's possible to boot ESXi with it.