Single boot EFI Mac install

Carsten Mattner carstenmattner at googlemail.com
Wed Mar 21 02:39:51 PDT 2012


On Tue, Mar 20, 2012 at 3:38 PM, Carsten Mattner
<carstenmattner at googlemail.com> wrote:
> On Tue, Mar 20, 2012 at 2:09 PM, peeter (must) <karu.pruun at gmail.com> wrote:
>> On Mon, Mar 19, 2012 at 9:08 PM, Carsten Mattner
>> <carstenmattner at googlemail.com> wrote:
>>> On Mon, Mar 19, 2012 at 7:41 PM, peeter (must) <karu.pruun at gmail.com> wrote:
>>>> On Wed, Mar 7, 2012 at 1:32 PM, Carsten Mattner
>>>> <carstenmattner at googlemail.com> wrote:
>>>>> Has anyone successfully installed DragonFly as a single
>>>>> boot system on an EFI Mac?
>>>>
>>>>
>>>> I'd be interested in this too. I failed: got the boot prompt and then
>>>> the boot process hung.
>>>>
>>>> I also tried a gpt setup described on 'man gpt' but got the same
>>>> result. I would be interested in setting up a dual boot but can't risk
>>>> losing the main system, currently macosx.
>>>>
>>>> On a positive note, rEFIt recognized the DFBSD slice and gave the boot
>>>> prompt, so something goes wrong after that.
>>>
>>> What I've learned for Mac 32-bit EFI and how to use it without OS X
>>> but with rEFIt to allow booting all kinds of systems:
>>>
>>> - boot the OS X installer
>>> - start Disk Util
>>> - create a 200MB (it will actually force it to 1GB) HFS+ partition
>>> - now you will have a 200MB unused FAT EFI protected partition and a
>>> 1GB HFS+ partition
>>> - boot a livecd which has a partitioning tool that can resize the HFS+
>>> partition
>>> - resize parition #2 (HFS+ 1GB) to 200MB, that should be enough
>>> - reboot into the OS X installer again
>>> - put rEFIt on the HFS+ partition
>>> - bless --folder ... etc. (see the shell script in rEFIt for the
>>> command) to bless refit.efi
>>> - if the resizing tool is non-destructive you could avoid booting
>>> twice into the OS X installer and instead extract and configure rEFIt
>>> on the 1GB partition
>>> - reboot
>>> - rEFIt should show up
>>> - if BSD or Linux doesn't properly boot, make sure the hybdrid
>>> partition table is synced (gptsync). rEFIt's partition tool menu item
>>> should suggest to sync if needed
>>> - if the installed rEFIt doesn't have the partition tool menu item boot
>>> rEFIt ISO
>>> - depending on what OS and bootloader you use you might want to add a
>>> 3rd partition of 1MB size and type BIOS BOOT before BSD or Linux.
>>>
>>> PS: I'm not subscribed to user at crater.dragonflybsd.org anymore. If
>>> this is filtered, someone has to moderate it onto the list.
>>
>>
>> Thanks a lot for this! Will try as soon as I get a moment.
>
> When I said you should create a HF+ partition I forgot that
> you should - assuming you want to have a single-boot system -
> Repartition the disk as GPT with a single HFS+ partition of 1GB
> size and then resize that to 200MB. Now you will have a GPT
> partition with a 200MB EFI FAT and 1GB HFS+ partition.

Justin Sherrill picked up this post in his DragonFly blog.
Let me clarify a couple things:
--this won't EFI-boot DragonFly--
--this will EFI-boot rEFIt--
--rEFIt will boot DragonFly--

To EFI-boot DragonFly you need to have an EFI image of either
the native DragonFly bootmanager or a dflykernel.efi image. Linux 3.3 has
gained support for an EFI image stub which allows you to build linux kernel
images which can be booted directly by EFI firmware. This is only half of the
story though. You still need to either use some kind of EFI shell or EFI boot
manager to pass required arguments to the EFI kernel image.

Disclaimer: There is a possibility of bricking your Mac firmware if you
(mis-)use one of the non-Mac (U)EFI or unsuitable 64-bit EFI tools or
bootmanagers. Newer Macs also have 64-bit EFI, but it's still Mac EFI and
not UEFI which you find in non-Mac hardware. Be careful, use backups,
don't do anything if you're not sure. Especially messing with EFI variables
with efibootmgr or other tools from BSD or Linux is said to be dangerous
on Macs.

If you want to read about EFI adventures:
http://mjg59.dreamwidth.org/
http://mjg59.livejournal.com/





More information about the Users mailing list