]> code.ossystems Code Review - openembedded-core.git/commitdiff
grub-efi, gummiboot: Emit correct path in startup.nsh
authorKhem Raj <raj.khem@gmail.com>
Sat, 10 Oct 2015 01:53:25 +0000 (01:53 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 19 Oct 2015 16:47:45 +0000 (17:47 +0100)
when we generate hddimage and use it to prepare SD card
using scripts/contrib/mkefidisk.sh as described here

http://elinux.org/Minnowboard:MinnowMaxYoctoProject

The content of startup.nsh contains

bootx64.efi

but this file is actually not in same dir as startup.nsh
its in /EFI/BOOT so for this to work entry in startup.nsh
should be

fs0:\EFI\BOOT\bootx64.efi

Otherwise the image is D-O-A

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/grub-efi.bbclass
meta/classes/gummiboot.bbclass

index 4ddc2bb125a2bfda935afa738e69574b0a11d332..9a4220abdc84fce3298671d88316e775736f907d 100644 (file)
@@ -52,7 +52,8 @@ efi_iso_populate() {
        mkdir -p ${EFIIMGDIR}/${EFIDIR}
        cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
        cp $iso_dir/vmlinuz ${EFIIMGDIR}
-       echo "${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh
+       EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
+       echo "fs0:${EFIPATH}\\${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh
        if [ -f "$iso_dir/initrd" ] ; then
                cp $iso_dir/initrd ${EFIIMGDIR}
        fi
index 3d9c08bbc9736ed33c1c33b5c990bd0e295159c5..9a97ac17536c7fbfc5b5b83f221b08b50e639caa 100644 (file)
@@ -46,7 +46,8 @@ efi_iso_populate() {
         mkdir -p ${EFIIMGDIR}/${EFIDIR}
         cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
         cp $iso_dir/vmlinuz ${EFIIMGDIR}
-        echo "${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
+        EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
+        echo "fs0:${EFIPATH}\\${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
         if [ -f "$iso_dir/initrd" ] ; then
             cp $iso_dir/initrd ${EFIIMGDIR}
         fi