[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] add part_apple to EFI rescue image to fix missing prefix
From: |
Andrey Borzenkov |
Subject: |
Re: [PATCH] add part_apple to EFI rescue image to fix missing prefix |
Date: |
Sun, 12 Jan 2014 11:31:47 +0400 |
В Sat, 11 Jan 2014 15:58:04 +0100
Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden> пишет:
> On 07.01.2014 19:31, Andrey Borzenkov wrote:
> > On Mac rescue image is booted from HFS+ partition, so bootpath looks like
> > /ACPI(a0341d0,0)/PCI(1,1f)/ATAPI(0,0,0)/HD(3,5d1,ca3,0000000000000000,20,0)/EndEntire
> >
> > grub fails to find device for this path because it cannot scan partition
> > table. The simplest fix is to add part_apple by default.
> >
> > ---
> > util/grub-mkrescue.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
> > index 0d03e55..30bb701 100644
> > --- a/util/grub-mkrescue.c
> > +++ b/util/grub-mkrescue.c
> > @@ -316,9 +316,11 @@ make_image_fwdisk_abs (enum grub_install_plat plat,
> > fclose (load_cfg_f);
> >
> > grub_install_push_module ("iso9660");
> > + grub_install_push_module ("part_apple");
> > grub_install_make_image_wrap (source_dirs[plat], "()/boot/grub", output,
> > 0, load_cfg, mkimage_target, 0);
> > grub_install_pop_module ();
> > + grub_install_pop_module ();
> This needs to be either limited to the 3 platforms in question
> (powerpc-ieee1275, i386-efi, x86_64-efi) or extended to all platforms. I
> prefer former.
Like below?
From: Andrey Borzenkov <address@hidden>
Subject: [PATCH] add part_apple to EFI rescue image to fix missing prefix
On Mac rescue image is booted from HFS+ partition, so bootpath looks like
/ACPI(a0341d0,0)/PCI(1,1f)/ATAPI(0,0,0)/HD(3,5d1,ca3,0000000000000000,20,0)/EndEntire
grub fails to find device for this path because it cannot scan partition
table. The simplest fix is to add part_apple by default.
---
util/grub-mkrescue.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
index 0d03e55..34e0b7a 100644
--- a/util/grub-mkrescue.c
+++ b/util/grub-mkrescue.c
@@ -653,11 +653,15 @@ main (int argc, char *argv[])
make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_IA64_EFI, "ia64-efi",
imgname);
free (imgname);
+ grub_install_push_module ("part_apple");
img64 = grub_util_path_concat (2, efidir_efi_boot, "bootx64.efi");
make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_X86_64_EFI, "x86_64-efi",
img64);
+ grub_install_pop_module ();
+ grub_install_push_module ("part_apple");
img32 = grub_util_path_concat (2, efidir_efi_boot, "bootia32.efi");
make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_I386_EFI, "i386-efi",
img32);
+ grub_install_pop_module ();
imgname = grub_util_path_concat (2, efidir_efi_boot, "bootarm.efi");
make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_ARM_EFI, "arm-efi",
imgname);
@@ -707,7 +711,9 @@ main (int argc, char *argv[])
free (efidir);
}
+ grub_install_push_module ("part_apple");
make_image_fwdisk (GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275,
"powerpc-ieee1275", "powerpc-ieee1275/core.elf");
+ grub_install_pop_module ();
if (source_dirs[GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275])
{
--
tg: (e7cfa8d..) u/apple-boot-path (depends on: master)
signature.asc
Description: PGP signature