Matthew Garrett ([personal profile] mjg59) wrote2011-11-09 04:49 pm
Entry tags:

Properly booting a Mac

This is mostly for my own reference, but since it might be useful to others:

By "Properly booting" I mean "Integrating into the boot system as well as Mac OS X does". The device should be visible from the boot picker menu and should be selectable as a startup disk. For this to happen the boot should be in HFS+ format and have the following files:
  • /mach_kernel (can be empty)
  • /System/Library/CoreServices/boot.efi (may be booted, if so should be a symlink to the actual bootloader)
  • /System/Library/CoreServices/SystemVersion.plist which should look something like
    <xml version="1.0" encoding="UTF-8"?>
    <plist version="1.0">
    <dict>
            <key>ProductBuildVersion</key>
            <string></string>
            <key>ProductName</key>
            <string>Linux</string>
            <key>ProductVersion</key>
            <string>Fedora 16</string>
    </dict>
    </plist>
That's enough to get it to appear in the startup disk boot pane. Getting it in the boot picker requires it to be blessed. You probably also want a .VolumeIcon.icns in / in order to get an appropriate icon.

Now all I need is an aesthetically appealing boot loader.

Bootloader installation

(Anonymous) 2012-08-10 04:24 pm (UTC)(link)
On which partition did you put the actual bootloader (the .efi file)?

If it's on the extra hfs partition: How did you get it there? As far as I know, Linux installation medias don't have a hfs file system driver, so you can't write the file to the partition during installation.

If it's anywhere else: How did you create the symlink? Symlinking to a file on an unmounted device doesn't sound very good, but you can't mount the partition at this point of the startup process, can you?

Maybe this is a stupid question, but I've searched for additional information on several other websites and most of them advise to use rEFIt, but your approach sounds a lot cleaner to me, so I'd be very happy, if you could clarify this point to me.

Re: Bootloader installation

(Anonymous) 2012-12-03 07:15 am (UTC)(link)
hey simply disable journaling in the efi partition, works good i have done and works fantastic.

Re: Bootloader installation

(Anonymous) 2012-12-04 09:53 pm (UTC)(link)
i use archlinux, i made the partition on osx with gpt fdisk, then formated the small hfs+ partition and disabled the journaling. in installed manually grub2 on the hfs+ partition during the installation, and wen rebooted on osx blessed the smal hfs+ partition.

----------------------------------------------------------------
3.0 KiB free space
1 200.0 MiB EFI System EFI System Partition
2 175.7 GiB Apple HFS/HFS+ mac
128.0 MiB free space
3 200.0 MiB Apple HFS/HFS+ Linux EFI
128.0 MiB free space
4 200.0 MiB Linux filesystem Boot
5 10.0 GiB Linux filesystem Root
6 43.0 GiB Linux filesystem Home
7 3.4 GiB Linux swap Swap