iPXE Instead of Syslinux/Grub2?

I have been searching both here and via google to see if I can figure out if Foreman supports this and if so what steps to take to implement it.

Essentially what I am after is using iPXE as the PXE bootloader/menus for unknown hosts on UEFI and BIOS boot.

Out of the box it looks like the defaults are Syslinux for BIOS and Grub2 for UEFI. Unfortunately, both have their quirks that are preventing me from successfully serving all my unknown host needs.

Tested separately I know iPXE is capable. However, documentation on Foreman + iPXE is very limited. This is the most recent/relevent post here I could find, which is a year old. The wiki and google dont really provide anything more then hints that its possible/supported in some fashion.

If Foreman can use iPXE to PXE boot all unknown clients by default, whats the setup required to get it working?


For what it’s worth I’ll explain how I got iPXE to work with foreman as the default bootloader.

I hijacked the PXELinux bootloaders and replaced them with iPXE ones. Replaced the pxelinux global default template with a boot menu.

There’s very little to change in regards to provisioning templates as the PXELinux script is readable by iPXE.

I’m then also able to deliver any image using http.

Would you mind explaining how you went through the steps to make this work or can you point me to any links that helped you get it setup that way?

It would be greatly appreciated if you could lay it out step by step or point me to a resource that does. Thanks