]> code.ossystems Code Review - openembedded-core.git/commitdiff
grub-efi-native: Add support for EFI ISO images
authorJason Wessel <jason.wessel@windriver.com>
Tue, 17 Sep 2013 13:32:12 +0000 (13:32 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 26 Sep 2013 16:27:22 +0000 (17:27 +0100)
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]

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>
meta/recipes-bsp/grub/files/cfg [new file with mode: 0644]
meta/recipes-bsp/grub/grub-efi-native_2.00.bb

diff --git a/meta/recipes-bsp/grub/files/cfg b/meta/recipes-bsp/grub/files/cfg
new file mode 100644 (file)
index 0000000..ffffe47
--- /dev/null
@@ -0,0 +1,2 @@
+search.file /EFI/BOOT/grub.cfg root
+set prefix=($root)/EFI/BOOT
index 2d3d68a9b82e8f334d38b34d48e203a88f39bd44..04973b524fc22bb56fef7d96f53dcb746bd2ea2f 100644 (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