3

Is there a guide on how to bless a partition for booting, one that doesn't have the default /System/Library/CoreServices/boot.efi structure?

For example, I installed GRUB on the default EFI System Partition (/dev/disk0s1in OS X, /dev/sda1 in Linux) and I have the file /EFI/arch_grub/grubx64.efi that I want to use instead of /System/Library/CoreServices/boot.efi.

Normally, following the standard structure, I would copy grubx64.efi to /System/Library/CoreServices/boot.efi and also touch /mach_kernel in the partition I want to make bootable, then I'd run the following to bless the partition:

# bless --folder=<Path to root of extra partition> --file=<Path to root of extra partition>/System/Library/CoreServices/boot.efi --setBoot
# bless --mount=<Path to root of extra partition> --file=<Path to root of extra partition>/System/Library/CoreServices/boot.efi --setBoot

To install GRUB, I followed the instructions in the Arch Linux Beginners' guide, which leaves me with (something like) /EFI/arch_grub/grubx64.efi file, where word arch_grub is arbitrarily chosen. Then running the following commands succeeds with no errors:

# bless --folder=<Path to root of GRUB ESP partition> --file=<Path to root of GRUB ESP partition>/EFI/arch_grub/grubx64.efi --setBoot
# bless --mount=<Path to root of GRUB ESP partition> --file=<Path to root of GRUB ESP partition>/EFI/arch_grub/grubx64.efi --setBoot

But the partition doesn't show up in the Apple boot menu, and sudo bless --verbose --info <Path to root of GRUB ESP partition> shows:

┌─[02:31:54/trusktrs-MacBook-Pro/trusktr//tmp]
└─╼ sudo bless --verbose --info /tmp/boot/
Mount point for /tmp/boot/ is /private/tmp/boot
GPT detected
Booter partition required at index 2
System partition found
Preferred system partition found: disk0s1
Returning booter information dictionary:
<CFBasicHash 0x7fedd340a740 [0x7fff7622ff00]>{type = mutable dict, count = 3,
entries =>
    0 : <CFString 0x1097b4e70 [0x7fff7622ff00]>{contents = "System Partitions"} = (
    disk0s1
)
    1 : <CFString 0x1097b5650 [0x7fff7622ff00]>{contents = "Data Partitions"} = (
    disk0s1
)
    2 : <CFString 0x1097b5670 [0x7fff7622ff00]>{contents = "Auxiliary Partitions"} = (
)
}

I made sure to touch <Path to root of GRUB ESP partition>/mach_kernel then unblessed and re-blessed the partition using the same commands but no luck.

I bet I'm missing something(s) simple and that it's not difficult to do what I want, but I'm not exactly sure what I need to do.

Any tips/ideas/suggestions?

You must log in to answer this question.

Browse other questions tagged .