iMac 4,1 failure to recognise USB Installer

I’m having trouble getting any USB stick burned with Haiku Beta or Nightly images to boot on an iMac 4,1 model.

It’s the first Intel model of iMac from 2006 with 32bit EFI and a Core Duo CPU.

I can boot MBR formatted Linux sticks on it as it has the BIOS CSM firmware in the EFI, however no stick with Haiku displays in the boot menu when I hold down the Alt/Option key on power up.

I’ve tried Anyboot and raw images burned with DD on Linux/OSX, Etcher and Rufus on Windows.

I’ve mounted used Drivesetup and Installer from another Haiku installation to burn the images too.

I can’t try EFI booting it as it has a 32bit EFI not 64bit so Haiku’s EFI loader is incompatible.

Anyone had any joy getting Haiku installed on one of these machines?

I haven’t tried it on the iMac, but on the MacBook Pro, what I usually do is carefully pull the hard disk out, write Haiku to the disk from another machine, and put it back into my Mac. The last time I tried this recently on mine, the usual ‘missing system folder’ blinked, and a few moments of gray later, the Mac found it… and it worked, as shown below:

I will add AirPort (the old Apple nickname for Wifi), sound, and key/screen brightness didn’t work on it. And resolution was limited to a few options. Ethernet and the rest does however. So, be aware you might have a similar experience in testing your iMac.

If your Superdrive still works, you may burn an install DVD. On most Macs I have tried, I was not abe to boot from USB. I either had to use a DVD or to extract the disk and install from haiku on another machine.

More recently, since I happen to have two internal DVDs on my Mac, I have been using one of them as an “install DVD”, just to ensure I have a permanent working bootloader. Whenever anything goes wrong, I write the beta image into the secondary SSD again, and I regain access to the main Haiku partitions on the main SSD. I have tried to get rid of this cumbersome method, but it didn’t work and I went back to this method, since I needed some stability on Haiku to work on the GUI translations, without loosing access to macOS.

Looking for help / instructions on how to boot Haiku on a MacMini (Mid 2011) from USB 64bit nightly stick - there’s no DVD and I’m not really interested in opening the box… but would be curious to know if that’s the only way :frowning:

Press ALT at boot time and choose the Haiku USB disk. In case it gets stuck, try again and press Shift or space bar after choosing the Haiku disk, then select some safe mode options. If none works, you may be out of luck. Some Macs simply don’t boot Haiku from USB, but will work from internal disk or from the install DVD.

Thanks @victordomingos - that helped me progress - and as you said might happen, it is getting stuck as soon as I hit the enter when the EFI boot icon is highlighted/selected in the Mac boot selection screen

  • Then after a minute or so it’s booting to Haiku past the boot icons and gets into the desktop but the screen is unreadable
  • so I’m trying to boot and get the safe mode options before the boot icons happen, but it’s not working - trying to hold the space bar.

Any ideas?


I’ve updated the firmware to the 64bit EFI from the iMac 5,1 as they are identical hardware-wise.

Still can’t legacy boot or EFI boot the USB images, nor can I boot them using Refind or SuperGrub2Disk in Legacy or EFI mode.

So I created a GUID/GPT partition table on the stick, created a 200MB EFI Partition using Drive Setup formatted to FAT32 and put the Haiku EFI loader in EFI/BOOT/, then created a BFS partition and installed from a mounted nightly RAW image to this partition.

Still can’t boot from this from the Apple boot menu, nor Refind or SG2D.

This is very strange!

The beta image (but not the nightlies) includes a proper EFI partition (I think you can’t create one with DriveSetup currently, because it has to have a specific partition type?)

Have you tried with the beta image?

DriveSetup had an option to create an “EFI System Partition” so that’s what I used to create the custom stick. The same stick attempts to boot on my Thinkpad but then KDL’s after the boot logo, but it’s an indication that it’s a working EFI partition. The Mac boot menu doesn’t recognise the EFI partition at all and neither does Refind on the Mac, yet Refind does recognise it on the Thinkpad which is a bit weird.

I’ll try again with the 64bit beta image as I’ve been using the latest nightly since I updated the firmware.

If that doesn’t work I’ll try creating a EFI linux stick and if that is recognised by the Mac I’ll swap the bootx64.efi file with the Haiku loader and see what happens.


Beta image behaves no differently than the nightly.

I’ve discovered something interesting at least. Nothing will EFI boot on this machine except an OSX Installation USB and the Refind USB image. The Apple boot menu will only detect the EFI partition on those sticks, not on any linux bistro I’ve tried, same goes for Refind.

The only thing I’ve been able to legacy boot from USB on it is SuperGrub2Disk. Not even the 32bit Haiku beta will boot in legacy mode.

I wonder if a Windows 10 USB will EFI boot? Might be worth checking and then trying to replace the bootx64.efi

I really want Haiku on this machine to use as a dev box. It’s pretty much useless otherwise lol

I’m an idiot.

I upgraded the firmware but still waiting for the Core2 Duo CPU upgrade to arrive. The current Core Duo CPU is 32bit only doh!

Current CPU:
Arriving Friday:

I’ll update the thread once I’ve fitted the 64bit CPU.

It’s a shame the 32bit build won’t boot though.

this is several years too late and using a different computer, but one with the same 32bit EFI issue …an iMac 5,1 but the linux distribution ‘antiX’ does boot up ok…though the web broswer hangs.

Theres a preboot menu that allows ‘xorg=safe’ should you have any video probs.

(Thought Id post in case theres any more recent solution seekers out there.)

oops - forgot to say…thats with ReFind installed…and using Etcher.
There is a stick installer in antiX but it wont work with the Haiku iso, and defaults to using dd.