VMware Cloud Community
alsparks
Contributor
Contributor

PXE installation of ESX5 - grub2 not pxelinux?

I've set up PXE boots and installs of ESX5.x hosts in the past using pxelinux and mboot.c32... but for a variety of reasons (many issues with ipxe and EFI support on current SYSLINUX releases) am looking to try to move away from pxelinux toward GRUB2 PXE support.   But I've have no luck getting an equivalent of PXE booting the ESX installer, or finding anyone who has, with GRUB2.

Has anyone seen this work, have any working templates?   Or is it known not possible?

-Alan

0 Kudos
2 Replies
alsparks
Contributor
Contributor

Bump.. is there a better place to ask this question?

0 Kudos
ThorstenT
Enthusiast
Enthusiast

We have been using pxegrub since at least 4.0. This worked fine until 5.1 was released. I never understood what they changed, but at least in theory ESXi should support multiboot.

The following should work, but it never did:

menuentry "ESXi 5.5" {

  insmod multiboot2

  multiboot (pxe)/esxi5.5-vanilla/tboot.b00

  module (pxe)/esxi5.5-vanilla/b.b00

  multiboot (pxe)/esxi5.5-vanilla/jumpstrt.gz

  module (pxe)/esxi5.5-vanilla/jumpstrt.gz

  module (pxe)/esxi5.5-vanilla/useropts.gz

  module (pxe)/esxi5.5-vanilla/k.b00

  module (pxe)/esxi5.5-vanilla/chardevs.b00

[...]

  module (pxe)/esxi5.5-vanilla/imgpayld.tgz

}

We do use a patched grub2 but no Linux or BSD image failed to load, so my guess is, ESXi somewhere violates the protocol. I tried to ask support about this, but we quickly reached the point, where they told me this is not supported. What I still do today is chainloading pxelinux from pxegrub.

menuentry "Chainload pxelinux" {

  pxe_restart_tftp /pxelinux.0 10.9.8.1

}


Not the most elegant solution, especially if you have multiple boot images for different hardware. Chainloading might help you with your EFI issues, though. AFAIR, the chainloaded boot loader inherits some of the environment.

If you ever find a way to directly boot from pxegrub2, let me know.

Thorsten

0 Kudos