Patchwork grub-efi.bbclass: Fix startup.nsh to work on more EFI revs

login
register
mail settings
Submitter Jason Wessel
Date Oct. 30, 2013, 5:35 p.m.
Message ID <1383154517-5949-1-git-send-email-jason.wessel@windriver.com>
Download mbox | patch
Permalink /patch/60819/
State Accepted
Commit 754b52ea7a3cdf8e7e939a314525d16c4dfb52cb
Headers show

Comments

Jason Wessel - Oct. 30, 2013, 5:35 p.m.
Some revs of the EFI firmware + shell do not automatically setup the
path in a such a way as to execute a binary without an absolute
reference like "FS0:\EFI\BOOT\bootx64.efi".  All the versions that I
have tested work properly by simply calling the binary which is in the
EFI\BOOT directory by name like "bootx64.efi".

The error you see on the console looks like the following:

startup.nsh> EFI\BOOT\bootx64.efi
'EFI\BOOT\bootx64.efi' is not recognized as an internal or external command, operable program, or batch file
Shell>

This patch simply drops the EFI\BOOT for greater compatibility.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
 meta/classes/grub-efi.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 96fb98b..0809ec6 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -48,7 +48,7 @@  grubefi_iso_populate() {
 	mkdir -p ${EFIIMGDIR}/${EFIDIR}
 	cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
 	cp $iso_dir/vmlinuz ${EFIIMGDIR}
-	echo "EFI\\BOOT\\${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh
+	echo "${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh
 	if [ -f "$iso_dir/initrd" ] ; then
 		cp $iso_dir/initrd ${EFIIMGDIR}
 	fi