grub-devel.gnu.org archive mirror
 help / color / mirror / Atom feed
From: Andrey Borzenkov <arvidjaar@gmail.com>
To: grub-devel@gnu.org
Subject: Re: [PATCH] add part_apple to EFI rescue image to fix missing prefix
Date: Sun, 12 Jan 2014 11:31:47 +0400	[thread overview]
Message-ID: <20140112113147.246fa792@opensuse.site> (raw)
In-Reply-To: <52D15BFC.8070509@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3183 bytes --]

В Sat, 11 Jan 2014 15:58:04 +0100
Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com> пишет:

> 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 <arvidjaar@gmail.com>
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)


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2014-01-12  7:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-07 18:31 [PATCH] add part_apple to EFI rescue image to fix missing prefix Andrey Borzenkov
2014-01-11 14:58 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-01-12  7:31   ` Andrey Borzenkov [this message]
2014-01-12 11:08     ` Vladimir 'φ-coder/phcoder' Serbinenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140112113147.246fa792@opensuse.site \
    --to=arvidjaar@gmail.com \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).