[syslinux] Syslinux and EFI

Johan van den Berg johanvandberg at gmail.com
Fri Sep 27 06:08:39 PDT 2019

Hi good day, can anybody please assist me to get PXE booting with 
syslinux, and EFI systems. PXE EFI Architecture-7 (64bit)?

What I have tried:

1) Syslinux 6.03 -> Looks like a bug -> does not work because 
syslinux.efi tries to download ldlinux.e64 but from the DHCP server, in 
stead of the PXE boot server (the server that provided "option 60" and 
the boot file "syslinux.efi").

2) Syslinux  6.04-pre3 -> Works better but still I get stuck as follows...

2.1) The PXE client [VM #1 = A bridged network VM running on Host #1] 
starts from boot. Does discovery.

2.2) The DHCP server [Host #2] provides an IP successfully. The PXE 
client will accept it (Discover-Offer-Request-Ack successful using the 
given IP afterward).

2.3) My PDHCP server (or PXE boot server if you will) [Host #3] provides 
the boot file "efi64/syslinux.efi" with all required options like for 
example "option 60=PXEClient" etc. The client accepts it and downloads + 
executes syslinux.efi.

2.4) syslinux.efi launches on the client (it displays a progress message 
on screen), and it starts download of "efi64\ldlinux.e64".

2.5) Using wireshark on Host #1 (which will see all network traffic from 
VM #1), the PXE client finishes the download successful, it gets and 
Ack's the last TFTP block. But then it tries to download ldlinux.e64 
again (from the boot server of course, which is correct in that regard) 
- but from different directories in the following order...

[efi64//boot/isolinux/ldlinux.e64] -> TFTP response "file not found".

[efi64//isolinux/ldlinux.e64] -> TFTP response "file not found".

[efi64//boot/syslinux/ldlinux.e64] -> TFTP response "file not found".

[efi64//boot/syslinuxldlinux.e64] -> TFTP response "file not found".

[efi64//ldlinux.e64] -> Success. It makes a complete download up to the 
last TFTP block. And this is where the EFI bios then continues booting 
the system next device. I.e. the PXE boot stops / aborts / does not 

Notes: I am looking for a generic solution to boot any distribution I 
may wish to, and hopefully one that works the same way pxelinux.0 (or 
lpxelinux.0) does, by means of a MAC based default file. My legacy boot 
works 100%, just not EFI yet.

Thanks in advance.


(Feel free to go low level on me, I've been making PXE boot solutions 
for a number of years, and the boot server code is my own)

More information about the Syslinux mailing list