grub-devel
[Top][All Lists]
Advanced

[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: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: [PATCH] add part_apple to EFI rescue image to fix missing prefix
Date: Sun, 12 Jan 2014 12:08:30 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131103 Icedove/17.0.10

On 12.01.2014 08:31, Andrey Borzenkov wrote:
> В 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?
> 
Yes, go ahead.
> 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])
>      {
> 
> 
> 
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
> 


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]