grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GRUB booting Mac OS X (xnu)


From: Andrei Borzenkov
Subject: Re: GRUB booting Mac OS X (xnu)
Date: Mon, 27 Oct 2014 10:39:26 +0300

On Mon, Oct 27, 2014 at 7:06 AM, Chris Murphy <address@hidden> wrote:
> OK I've got this working. The problem was user error. Explicitly setting root 
> is necessary, and I've updated the bug.
> https://savannah.gnu.org/bugs/index.php?42954
>
> So the approach of chainloading Apple's boot.efi is valid. What's needed is 
> to consider Recovery HD (Apple Boot partitiontype GUID) to be the partition 
> searched by os-prober, figure out its UUID so that set root can be done by 
> UUID.
>

Given that xnu loader apparently never worked on native EFI grub, I
think that would be good idea. It does not look like anything needs to
be changed in grub2 though. You will need to modify os-prober to
return efi loader type in this case; grub2 already supports
chainloading EFI binary in 30_os-prober.

You still need to keep current xnu loader (and macosx os-prober type)
for the case of CSM boot though. The simplest way is to emit either
efi or macosx similar to what windows script does. It is not fool
proof, but in practice seems to work - users rarely jump between CSM
to EFI so it is reasonable to expect that they want to boot in the
same mode as is currently used.

> The Apple Boot [1] is used by OS X 10.7 through 10.10, so it's a good start 
> point to search for OS X since it won't be anywhere else.
>

give grub device name; it is file system and has UUID right? So it is
going to find it during boot just fine.

> Going forward, any conventional HFS+ partition [2] isn't going to be OS X, 
> but instead will be any distribution using mactel boot, since putting 
> grubx64.efi on the FAT32 ESP is *not* picked up by Apple's firmware as a 
> legit bootloader. Only if there is an NVRAM entry for it, and bootcurrent has 
> it listed first, can it be used. By putting grubx64.efi on hfsplus, and 
> tricking the firmware into thinking it's an OS X bootloader, we get a 
> prettier user friendly linux boot experience on Macs.
>
>
> [1] partitiontype GUID 426F6F74-0000-11AA-AA11-00306543ECAC
> [2] partitiontype GUID 48465300-0000-11AA-AA11-00306543ECAC
>
>
> Chris Murphy
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel



reply via email to

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