]> code.ossystems Code Review - openembedded-core.git/commitdiff
grub-efi.bbclass: Fix startup.nsh to work on more EFI revs
authorJason Wessel <jason.wessel@windriver.com>
Wed, 30 Oct 2013 17:35:17 +0000 (12:35 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 12 Dec 2013 16:53:03 +0000 (16:53 +0000)
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.

(From OE-Core master rev: 754b52ea7a3cdf8e7e939a314525d16c4dfb52cb)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
meta/classes/grub-efi.bbclass

index 3765bfd8a2f58fe8567359f7e1e0327f1a677e25..2f00901d049700a322a9f7c84d286e567cd62b62 100644 (file)
@@ -49,7 +49,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