From: Khem Raj Date: Sat, 10 Oct 2015 01:53:25 +0000 (+0000) Subject: grub-efi, gummiboot: Emit correct path in startup.nsh X-Git-Tag: 2015-10~113 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=38fe481911e7c4e9f674ded8f66878dff9e12ce3;p=openembedded-core.git grub-efi, gummiboot: Emit correct path in startup.nsh 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 Signed-off-by: Ross Burton --- diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 4ddc2bb125..9a4220abdc 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -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 diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass index 3d9c08bbc9..9a97ac1753 100644 --- a/meta/classes/gummiboot.bbclass +++ b/meta/classes/gummiboot.bbclass @@ -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