There’s several ways to go about getting Haiku to boot this way. The first is to use rEFInd from Rod’s Books. And I’ll let those who prefer this method explain how they get this working… as I don’t really use it myself.
The second (and it’s the method that I mainly use) is to use qemu to install a Nightly inside of a virtual environment (if you need EFI support, there’s binaries and instructions for building tianocore/ovmf here: https://github.com/BlankOn/ovmf-blobs).
Usually, because I’m dealing with pre-2012 Intel Macs, I’ll just go with an Intel partition map (and boot using the Mac’s CSM mode). Once the 4 GB image has been created and prepped using
dd if=/dev/zero of=haikutosh-nightly-x64.img bs=4096 count=1000000, once that’s done (takes around 30-45 seconds on my hardware, the second step (from an Intel Mac running OS X/macOS) is
/Applications/QEMU/programs/qemu-system-x86_64 -m 1G -hda haikutosh-nightly-x64.img -cdrom /Users/andrew/Downloads/Nightlies/haiku-nightly-hrev54465_x64.iso -boot d while plugged in so my Mac doesn’t throttle on me.
From there, I usually have an external drive where I’ve backed up macOS to (or you can install macOS to it) and either way, plug it in and hold option when the Mac first turns on. From there, I’ll copy the Haiku raw image then select the external HD/SSD and boot into macOS. From Terminal, I’ll first check with diskutil (
diskutil list) to see what disk I’m aiming for (usually I find it’ll be disk0 and in that case I’ll do (
sudo diskutil unmountDisk /dev/disk0), but always look just in case) then do
dd to overwrite the macOS with the Haiku image:
dd if=/Users/andrew/Desktop/haikutosh-nightly-x64.img of=/dev/rdisk0 bs=4096 (keep the r if you’re doing this from Mac; otherwise, just use the direct identifier) and restart.
And that’s usually that. The steps in between (such as to make an ESP and write in the EFI files, etc.) or to use a legacy ‘Intel partition map’ (MBR) is totally up to you. And also what method you want to use. Because I play around with VMs a lot, I usually go for the second method (and I admit it’s laziness on my part because it makes it easy to deploy across Macs). But there’s several other ways (like again, setting up rEFInd, manually putting a Haiku SSD/HD in the drive bay, booting off a Haiku DVD, etc.) and as I keep saying, it’s really up to you.
But that’s my method. And its really only good as a demo this way; the big drawback to it is that (afaik) BFS is not reliably expandable yet, which means that the partition size is fixed when written out like this. I’ve considered whether to distribute compressed ‘Mac edition’ images that can expand out between 32-128 GB (as most modern Macs ship with 32-128 GB disks), but that’d pretty much be a distribution (so that’s why I haven’t so far).