[syslinux] syslinux.efi and vendor-class-identifier

James Pearson james-p at moving-picture.com
Tue Oct 1 06:08:05 PDT 2019


We've been successfully installing Linux using pxelinux to bootstrap our 
Linux (CentOS) installs for many years, but we are about to take 
delivery of hardware that doesn't have legacy BIOS boot support for 
internal drives - so I'm making my first foray into the world of EFI - 
and can _almost_ get it all to work, but hit an issue that I'm not sure 
how to 'fix' ...

We're using a CentOS 6 server running its native (ISC) dhcpd (v4.1.1) 
and tftpd (v 0.49). I've installed syslinux.efi and ldlinux.e64 from the 
syslinux-6.04-pre2 distro alongside the existing pxelinux.0

I've updated dhcpd.conf based on info from 
https://wiki.syslinux.org/wiki/index.php?title=PXELINUX#UEFI (and 
elsewhere) to select 'syslinux.efi' as the filename to use etc.

However, our dhcpd.conf, when switching on the vendor-class-identifier, 
will set 'deny unknown-clients' if there is no match found

Watching the dhcp/tftp traffic via wireshark, I see the initial DHCP 
Discover, Offer, Request and ACK, followed by the tftp download of 
syslinux.efi - and then the client sends another DHCP Discover request, 
gets no reply - and repeats the DHCP Discover request 3 more times and 
then gives up.

I believe the issue is that the 2nd set of DHCP Discover requests don't 
include a 'vendor-class-identifier' - so our dhcpd config ignores the 
request?

I'm guessing this 2nd set of DHCP Discover requests come from the 
downloaded 'syslinux.efi' ? - if so, is it possible to configure 
syslinux.efi to send a vendor-class-identifier in its DHCP Discover request?

I _can_ get it all to work fine - if I remove the 'deny unknown-clients' 
catch-all - but I'm reluctant to do this, unless it is the only way to 
get things working

Has anyone got any other ideas on how I can solve this?

Thanks

James Pearson


More information about the Syslinux mailing list