dcavalca / rpms / grub2

Forked from rpms/grub2 3 years ago
Clone

Blame SOURCES/0016-add-part_apple-to-EFI-rescue-image-to-fix-missing-pr.patch

0dc71c
From 3aea6cc46177a90056ba60381e6387377fe40c99 Mon Sep 17 00:00:00 2001
0dc71c
From: Andrey Borzenkov <arvidjaar@gmail.com>
0dc71c
Date: Sun, 12 Jan 2014 15:29:21 +0400
0dc71c
Subject: [PATCH 016/143] add part_apple to EFI rescue image to fix missing
0dc71c
 prefix
0dc71c
0dc71c
On Mac rescue image is booted from HFS+ partition, so bootpath looks like
0dc71c
/ACPI(a0341d0,0)/PCI(1,1f)/ATAPI(0,0,0)/HD(3,5d1,ca3,0000000000000000,20,0)/EndEntire
0dc71c
0dc71c
grub fails to find device for this path because it cannot scan partition
0dc71c
table. The simplest fix is to add part_apple by default.
0dc71c
---
0dc71c
 util/grub-mkrescue.c | 6 ++++++
0dc71c
 1 file changed, 6 insertions(+)
0dc71c
0dc71c
diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
0dc71c
index 0d03e55..34e0b7a 100644
0dc71c
--- a/util/grub-mkrescue.c
0dc71c
+++ b/util/grub-mkrescue.c
0dc71c
@@ -653,11 +653,15 @@ main (int argc, char *argv[])
0dc71c
       make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_IA64_EFI, "ia64-efi", imgname);
0dc71c
       free (imgname);
0dc71c
 
0dc71c
+      grub_install_push_module ("part_apple");
0dc71c
       img64 = grub_util_path_concat (2, efidir_efi_boot, "bootx64.efi");
0dc71c
       make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_X86_64_EFI, "x86_64-efi", img64);
0dc71c
+      grub_install_pop_module ();
0dc71c
 
0dc71c
+      grub_install_push_module ("part_apple");
0dc71c
       img32 = grub_util_path_concat (2, efidir_efi_boot, "bootia32.efi");
0dc71c
       make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_I386_EFI, "i386-efi", img32);
0dc71c
+      grub_install_pop_module ();
0dc71c
 
0dc71c
       imgname = grub_util_path_concat (2, efidir_efi_boot, "bootarm.efi");
0dc71c
       make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_ARM_EFI, "arm-efi", imgname);
0dc71c
@@ -707,7 +711,9 @@ main (int argc, char *argv[])
0dc71c
       free (efidir);
0dc71c
     }
0dc71c
 
0dc71c
+  grub_install_push_module ("part_apple");
0dc71c
   make_image_fwdisk (GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275, "powerpc-ieee1275", "powerpc-ieee1275/core.elf");
0dc71c
+  grub_install_pop_module ();
0dc71c
 
0dc71c
   if (source_dirs[GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275])
0dc71c
     {
0dc71c
-- 
0dc71c
1.9.3
0dc71c