[syslinux] pxechn.c32 not working when coming from iPXE 1.0.0
Vinícius Ferrão
ferrao at if.ufrj.br
Wed Jul 5 20:47:11 PDT 2017
Hello,
I’m running a PXE server with syslinux-6.03 and something not right happens when a iPXE clients loads pxechn.c32 to get in a WDS server: it fails.
I’ve discovered this when we started deploying oVirt in our infrastructure and QEMU calls SeaBIOS with iPXE for network booting. All other clients works just fine. Physical machines and VMware VM’s.
I don’t know if this is a known bug or not, searched through the web and the mailing list but I was unable to see anyone with a similar issue. To start debugging here are some of my settings:
Configured DHCP options in isc-dhcp-server 4.3.5-3:
option architecture-type code 93 = unsigned integer 16;
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
class "pxeclients" {
# 1. Dont know exactly what this if-statement does
# 2. Aparently the pxelinux.pathprefix is ignored (perhaps a Debian DHCP issue)
# So the ln -s workarround is needed to find the installers
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 146.164.36.17;
site-option-space "pxelinux";
# Always send the PXELINUX options (specified in hexadecimal)
if exists dhcp-parameter-request-list {
option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list,d0,d1,d2,d3);
}
if option architecture-type = 00:00 {
filename "pxelinux/lpxelinux.0";
option pxelinux.configfile "pxelinux.cfg/bios";
} elsif option architecture-type = 00:09 {
filename "pxelinux/bootx64.efi";
option pxelinux.configfile "pxelinux.cfg/efi64";
} elsif option architecture-type = 00:07 {
filename "pxelinux/bootx64.efi";
option pxelinux.configfile "pxelinux.cfg/efi64";
} elsif option architecture-type = 00:06 {
filename "pxelinux/bootia32.efi";
option pxelinux.configfile "pxelinux.cfg/efi32";
} else {
filename "pxelinux/bios/lpxelinux.0";
option pxelinux.configfile "pxelinux.cfg/bios";
}
}
pxelinux.cfg Settings:
label 8
menu label ^8. Windows Deployment Services
kernel pxechn.c32
append undercity.if.ufrj.br::\Boot\x86\wdsnbp.com -W
It’s pretty standard and was working flawlessly for years.
The TFTP/PXE server runs on FreeBSD 11.0-RELEASE and the DHCP server is on Debian 9 Stretch.
Thanks,
V.
More information about the Syslinux
mailing list