[Dnsmasq-discuss] PXE Boot Issues with initrd timeout (BIOS) and grubx64.efi error "E18" (UEFI)
Jean-François JUBLIN
jublinjf at saintjo.org
Thu Jul 10 14:52:57 UTC 2025
Hi,
Any ideas ? I use v2.92test13 since its embeded with piHole, any version I
should try as a standalone ?
Thanks.
Le mar. 1 juil. 2025 à 21:08, Jean-François JUBLIN <jublinjf at saintjo.org> a
écrit :
> Hi,
>
> I'm a French teacher and I run a dnsmasq server as PXE (Debian preseeded
> installer) / DHCP / DNS server.
> I'm running into PXE boot issues this year, using dnsmasq's built-in TFTP
> server.
>
> Setup:
> - Debian 12 server
> - 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 from grub.cfg.
>
> *- However, during the initrd transfer, I get a timeout everytime, same
> with clonezilla's squashfs.*- 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 symlink and raw file for the .efi file.
> - I've tried different host (old and pretty new motherboard), all give the
> same result.
>
> Here how I build my TFTP content :
>
> cd /srv/tftp
>
> 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 .
>
>
> I also compressed initrd files and included firmware, but it makes no
> difference — it’s not relevant to the problem.
>
> cd /srv/tftp/debian-installer/amd64
>> [ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig
>> [ -f firmware.cpio.gz ] || wget
>> https://cdimage.debian.org/cdimage/firmware/bookworm/current/firmware.cpio.gz
>> cat initrd.gz.orig firmware.cpio.gz > initrd.gz
>> gzip -cd initrd.gz | xz -9 --check=crc32 > initrd.xz
>
>
>
> 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 I did not had thoses issues for EFI either.
>
> Thanks in advance for any help or insight — I’m hoping to get the computer
> ready soon for the kids.
>
> Have a nice day,
>
> Best regards,
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20250710/0d44f583/attachment-0001.htm>
More information about the Dnsmasq-discuss
mailing list