From badf0504f5ed4c5e48607922ac15c56463ad09ef Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Thu, 15 Dec 2011 22:12:28 -0800 Subject: grub-efi: Use /EFI/BOOT now that mkdosfs -d works with directories [Yocto 1783] prevented us from using a proper /EFI/BOOT path in the live images due to a bug in the -d patch for mkdosfs in dosfstools. With this now fixed, we can place the efi payload where it belongs per spec and the images will autoboot to the grub menu on EFI platforms. Signed-off-by: Darren Hart Signed-off-by: Richard Purdie --- meta/classes/grub-efi.bbclass | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 36b583111..762322b28 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -21,10 +21,8 @@ GRUB_TIMEOUT ?= "10" #FIXME: build this from the machine config GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1" -# FIXME: add EFI/BOOT to GRUB_HDDDIR once the mkdosfs subdir bug is resolved -# http://bugzilla.yoctoproject.org/show_bug.cgi?id=1783 EFIDIR = "/EFI/BOOT" -GRUB_HDDDIR = "${HDDDIR}" +GRUB_HDDDIR = "${HDDDIR}${EFIDIR}" GRUB_ISODIR = "${ISODIR}${EFIDIR}" grubefi_populate() { @@ -53,22 +51,12 @@ grubefi_populate() { grubefi_iso_populate() { grubefi_populate ${GRUB_ISODIR} - - # FIXUP the token in the config - # FIXME: This can be dropped once mkdosfs is fixed - sed -i "s@@${EFIDIR}@g" ${GRUB_ISODIR}/$(basename "${GRUBCFG}") } grubefi_hddimg_populate() { grubefi_populate ${GRUB_HDDDIR} - - # FIXUP the token in the config - # FIXME: This can be dropped once mkdosfs is fixed - sed -i "s@@@g" ${GRUB_HDDDIR}/$(basename "${GRUBCFG}") } -# FIXME: The token can be replaced with ${EFIDIR} once the -# mkdosfs bug is resolved. python build_grub_cfg() { import sys @@ -121,7 +109,7 @@ python build_grub_cfg() { bb.data.update_data(localdata) cfgfile.write('\nmenuentry \'%s\'{\n' % (label)) - cfgfile.write('linux /vmlinuz LABEL=%s' % (label)) + cfgfile.write('linux ${EFIDIR}/vmlinuz LABEL=%s' % (label)) append = localdata.getVar('APPEND', True) initrd = localdata.getVar('INITRD', True) @@ -131,7 +119,7 @@ python build_grub_cfg() { cfgfile.write('\n') if initrd: - cfgfile.write('initrd /initrd') + cfgfile.write('initrd ${EFIDIR}/initrd') cfgfile.write('\n}\n') cfgfile.close() -- cgit v1.2.3