Syslinux – Configure for UEFI PXE Boot

pxe-bootsyslinuxuefi

A variety of machines will happily boot a custom bzImage via PXE in legacy mode using syslinux.

In UEFI mode, one of these machines and a newer UEFI only board get assigned an IP address, TFTP syslinx.efi from the server and then freeze.

Now I'm not quite sure why the freeze.

There are no further TFTP requests as seen when using pxelinux.0.

Wireshark shows that the machine is sending the correct PXE/BOOTP extension for an x64 machine PXEClient:Arch:00007:UNDI:003016.

The syslinux.efi binary is x64 build from the 6.03 sources.

Is syslinux.efi even the correct loader? Any thoughts welcomed.

Best Answer

The syslinux.efi is the correct loader; unfortunately 6.03 has several issues affecting both UEFI and PXE.

i.e. http://www.syslinux.org/archives/2016-October/025395.html

this is just an example, there are many more issues, like faulty TFTP transfers, bad next-server detection, etc. The patches for all these issues have been submitted and some of them are already merged you should try 6.04-pre1 binaries.