Hi,
I'm running into PXE boot issues this year, using dnsmasq's built-in TFTP server.
Setup:
- Debian 12 server
- Core [v6.1.2]
- FTL [v6.2.3]
- Web interface [v6.2.1]
- PXE configuration in dnsmasq
- TFTP root is /srv/tftp serving debian installer
- BIOS clients use pxelinux.0
- UEFI clients use grubx64.efi or bootnetx64.efi
Issue 1: BIOS PXE clients
- The pxelinux.0 is loaded successfully, and I get the menu.
- However, during the initrd transfer, I get a timeout everytime.
- This issue was resolved by disabling the built-in TFTP in dnsmasq and using an external TFTP server (tftpd-hpa). With tftpd-hpa, initrd loads fully and the installation proceeds.
Last year built in TFTP server was working fine for legacy BIOS, but I must say it was way slower than tftp-hpa.
Issue 2: UEFI PXE clients
- The UEFI firmware requests grubx64.efi (I see the TFTP request in the logs).
- The file exists and is accessible (confirmed with manual TFTP download from another host).
- I can see the choice of PXE server, still when I press enter the UEFI clients fail with a "PXE-E18: Server response timeout" error before anything is shown on screen.
- I’ve tried several UEFI
.efi
loaders (grubx64.efi, bootnetx64.efi), all give the same result. - I've tried different host (old and pretty new motherboard), all give the same result.
Here how I build my TFTP content :
wget http://ftp.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar -xzvf netboot.tar.gz
rm netboot.tar.gz
ln -s debian-installer/amd64/grubx64.efi .
ln -s debian-installer/amd64/grub .
My specific dnsmasq conf :
nano /etc/dnsmasq.d/99-pxe.conf
#disabled since using tftp-hpa
#enable-tftp
tftp-root=/srv/tftp
pxe-service=X86-64_EFI,"PXE (UEFI)","grubx64.efi"
pxe-service=x86PC, "PXELINUX (BIOS)", "pxelinux.0"
pxe-service=0, "PXELINUX (0000-BIOS)", "pxelinux.0"
pxe-service=1, "PXELINUX (0001-EFI)", "grubx64.efi"
pxe-service=2, "PXELINUX (0002-EFI)", "grubx64.efi"
pxe-service=3, "PXELINUX (0003-EFI)", "grubx64.efi"
pxe-service=4, "PXELINUX (0004-EFI)", "grubx64.efi"
pxe-service=5, "PXELINUX (0005-EFI)", "grubx64.efi"
pxe-service=6, "PXELINUX (0006-EFI)", "grubx64.efi"
pxe-service=7, "PXELINUX (0007-EFI)", "grubx64.efi"
pxe-service=8, "PXELINUX (0008-EFI)", "grubx64.efi"
pxe-service=9, "PXELINUX (0009-EFI)", "grubx64.efi"
I'm pretty sure last year or so I did not had thoses issues for EFI either.
Thanks in advance for any help or insight.
Best regards,