aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-10-10 01:53:25 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-10-19 17:47:45 +0100
commit38fe481911e7c4e9f674ded8f66878dff9e12ce3 (patch)
treedb29da1d56a61763ec6e68ceb3f836455b4467c7
parente789603c9470ad22f935ab993a13f9ee7c9630eb (diff)
downloadopenembedded-core-contrib-38fe481911e7c4e9f674ded8f66878dff9e12ce3.tar.gz
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 <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/classes/grub-efi.bbclass3
-rw-r--r--meta/classes/gummiboot.bbclass3
2 files changed, 4 insertions, 2 deletions
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