From 197f1fe1cc453b60367d50471f15a7580633e763 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Tue, 17 Sep 2013 13:32:12 +0000 Subject: [PATCH] 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 Reviewed-by: Darren Hart Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/recipes-bsp/grub/files/cfg | 2 ++ meta/recipes-bsp/grub/grub-efi-native_2.00.bb | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-bsp/grub/files/cfg diff --git a/meta/recipes-bsp/grub/files/cfg b/meta/recipes-bsp/grub/files/cfg new file mode 100644 index 0000000000..ffffe47638 --- /dev/null +++ b/meta/recipes-bsp/grub/files/cfg @@ -0,0 +1,2 @@ +search.file /EFI/BOOT/grub.cfg root +set prefix=($root)/EFI/BOOT diff --git a/meta/recipes-bsp/grub/grub-efi-native_2.00.bb b/meta/recipes-bsp/grub/grub-efi-native_2.00.bb index 2d3d68a9b8..04973b524f 100644 --- a/meta/recipes-bsp/grub/grub-efi-native_2.00.bb +++ b/meta/recipes-bsp/grub/grub-efi-native_2.00.bb @@ -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