Control: tags 927783 patch

On 2019-04-23, Alkis Georgopoulos wrote:
> 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:
...
> 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.

Updated patch against the packaging rather than the installed files:

diff --git a/debian/tree/ipxe/etc/grub.d/20_ipxe 
b/debian/tree/ipxe/etc/grub.d/20_ipxe
index 8be37c8..d72a3ec 100755
--- a/debian/tree/ipxe/etc/grub.d/20_ipxe
+++ b/debian/tree/ipxe/etc/grub.d/20_ipxe
@@ -19,7 +19,14 @@ if test -e "$IPXE" ; then
   cat << EOF
 menuentry "Network boot (iPXE)" --users "" --class network {
 ${prepare_boot_cache}
-       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
 }
 EOF
 fi


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

Reply via email to