grub-efi-native: Add support for EFI ISO images

The iso9660 file system support needs to be added to grub in order to
be able to correctly find the grub.cfg.  The grub commands to locate
the grub.cfg also needs to be encoded into grub's default
configuration.

This change allows the resulting grub binary to work both in the hard
drive / USB boot case or the optical media boot case.

[YOCTO #4100]

(From OE-Core rev: 0bc0762a479b5182a07fccb2b1e9cd5fc15ca485)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jason Wessel 2013-09-17 13:32:12 +00:00 committed by Richard Purdie
parent bb8e360657
commit 197f1fe1cc
2 changed files with 7 additions and 2 deletions

View File

@ -0,0 +1,2 @@
search.file /EFI/BOOT/grub.cfg root
set prefix=($root)/EFI/BOOT

View File

@ -23,6 +23,7 @@ PR = "r2"
PN := "grub-efi-${TRANSLATED_TARGET_ARCH}-native"
SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
file://cfg \
file://grub-2.00-fpmath-sse-387-fix.patch \
file://grub-2.00-fix-enable_execute_stack-check.patch \
file://grub-2.00-disable-help2man.patch \
@ -66,9 +67,11 @@ EXTRA_OECONF = "--with-platform=efi --disable-grub-mkfont \
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no"
do_mkimage() {
./grub-mkimage -p /EFI/BOOT -d ./grub-core/ \
# Search for the grub.cfg on the local boot media by using the
# built in cfg file provided via this recipe
./grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \
-O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE} \
boot linux ext2 fat serial part_msdos part_gpt normal efi_gop
boot linux ext2 fat serial part_msdos part_gpt normal efi_gop iso9660 search
}
addtask mkimage after do_compile before do_install