I'm trying to configure PXE server for both Legacy/UEFI support. So I need to provide different bootloaders based on architecture of machine.
Here's part of dhcpd.conf
:
option architecture-type code 93 = unsigned integer 16 ;
next-server 10.10.10.10;
if option architecture-type = 00:07 {
filename "grubx64.efi";
} else {
filename "pxelinux.0";
}
This block doesn't seem to work at all. Whatever machine I boot from, no matter BIOS or UEFI, the server provides pxelinux.0
. And I am sure that machine provides the correct information about architecture(option 93) - I looked at the contents of the package using tcpdump
.
I have already tried to wrap it in a class as shown in the Red Hat examples.
I'm trying to create new hosts, so dhcpd.leases
with supersede server.filename = "pxelinux.0";
is not the issue.
I'm using ISC DHCP server 4.2.5 on CentOS 7, files provided with TFTP