Source: ipxe
Version: 1.0.0+git-20190125.36a4c85-1
Severity: normal
Dear maintainer,
https://packages.debian.org/buster/all/ipxe/filelist ships the following
files (among others):
/boot/ipxe.efi
/boot/ipxe.lkrn
/etc/grub.d/20_ipxe
But, when booting under UEFI, /etc/grub.d/20_ipxe tries to load
ipxe.lkrn instead of the correct ipxe.efi, and crashes.
Here's a proposed patch that addresses the issue:
diff ./a/etc/grub.d/20_ipxe ./b/etc/grub.d/20_ipxe
22c22,29
< linux16 $IPXEPATH
---
> if [ "\$grub_platform" = "efi" ]; then
> chainloader ${IPXEPATH%.lkrn}.efi
> else
> linux16 $IPXEPATH
> if [ -f ${IPXEPATH%.lkrn}.ipxe ]; then
> initrd16 ${IPXEPATH%.lkrn}.ipxe
> fi
> fi
This dynamically checks if the platform is efi or not, and loads the
correct ipxe.{efi|lkrn},
and additionally, in the BIOS case, it allows the user to provide an
ipxe script in /boot/ipxe.ipxe, which is loaded as initrd.
This functionality isn't yet supported by upstream iPXE under UEFI.