Some time ago, Apple Mail on my white MacBook stopped communicating with gmail. As I recall, it was some error message that translated to “your mail client is horribly old and uses outdated security protocols“. Unfortunate, because OS X Snow Leopard was my favorite version of OS X. Anyway, I decided it was time to throw Linux on it.
At the time, I was having trouble getting the latest 64-bit Linux distro DVDs to boot. Eventually I came across ubuntu-14.04.3-desktop-amd64+mac.iso which actually did boot and install. Unfortunately, these mac-specific images seem to have fallen by the wayside as of late.
I figured it was time to look for a method to get this stuff running.
Before reading further: Make sure you’re in the same boat!
To be clear, this applies to the 64-bit Macs that use a 32-bit EFI. These tend to be all of the Core2Duo models from late 2006. More specifically:
- iMac 5,1 – iMac 5,2 – iMac 6,1
- Macbook 2,1
- MacBook Pro 2,1 – MacBook Pro 2,2
- Mac Pro 1,1
- Xserve 1,1 (maybe)
If you’ve got an earlier Mac which is a CoreDuo (not a Core2Duo), it can’t run 64-bit anyway. If you’re on a later Mac, you’ve probably got a 64-bit EFI anyway so most Linux distros should install and run.
If you’re on some other (non-Mac) 64-bit machine that uses a 32-bit EFI, well… I have no idea. It could be worth a try.
Note that the MacBook Air 1,1 doesn’t have a DVD drive which makes things more complicated.
64-bit DVD Images for the 32-bit EFI models listed above
Warning: You’re best to skip below and create the disk image yourself. For all you know, I could be a botnet kingpin and you could be downloading the Botnet Linux 16.04 ISO. Or maybe the actual botnet kingpin hacked their way into the server and quietly replaced my ISO with their own. Beyond that, it’s also going to be really helpful for you to understand what problem you’re actually solving so that when new versions of your favorite distro come out in the future that you want disk images for, you’re capable of effortlessly handling it on your own.
Alright, so I’ve started small – a disk image for 2 distributions that’s been modified to boot on your 64-bit-with-32-bit-EFI Mac. Both were tested on my MacBook.
If you want another distribution, leave a comment and I’ll try to create the image and put it up (you’re the one who gets to test it though). Keep in mind that while it only takes a couple minutes to do, the cost of server diskspace and bandwidth is a factor for me here – I can’t offer every version of every distro out there.
Fedora 25 Workstation Live (64-bit Mac) – untested
Fedora-Workstation-Live-x86_64-25-1.3-mac-mattgadient.com.iso ( md5: 80a6c458bf255e46f22ac984303aad14 )
Fedora 24 Workstation Live (64-bit Mac) – tested by me
Fedora-Workstation-Live-x86_64-24-1.2-mac-mattgadient.com.iso ( md5: 964626a09f2ce01b15c2a79153d46323 )
Ubuntu 16.04 Desktop (64-bit Mac) – tested by me
ubuntu-16.04-desktop-amd64-mac-mattgadient.com.iso ( md5: f823cbabdd624c8394f7927e501807de )
Elementary OS 0.4 (64-bit Mac) – untested
elementaryos-0.4-stable-amd64.20160921-mac-mattgadient.com.iso ( md5: 280d814c80699cc2d06618c5870c6784 )
Elementary OS 0.3.2 (64-bit Mac) – untested
elementaryos-0.3.2-stable-amd64.20151209-mac-mattgadient.com.iso ( md5: 3ce983db17349f204379e066d3898dc3 )
openSUSE Leap 42.1 (64-bit Mac) – untested
openSUSE-Leap-42.1-DVD-x86_64-mac-mattgadient.com.iso ( md5: d3795bd2b648d49706c6148ba1d21def )
Linux Mint 18.1 Cinnamon “Serena” (64-bit Mac) – untested
linuxmint-18.1-cinnamon-64bit-mac-mattgadient.com.iso ( md5: f5e671d5f5eb5a6ae1c1b508ab0d9bf2 )
Linux Mint 18 Cinnamon “Sarah” (64-bit Mac) – untested
linuxmint-18-cinnamon-64bit-mac-mattgadient.com.iso ( md5: 43a6b48bd844ef3620f768863a2d17ea )
Korora 25 Live Gnome (64-bit Mac) – untested
korora-live-gnome-25-x86_64-mac-mattgadient.com.iso ( md5: 94b9c5581c6652d9bb247188e9f8371c )
Korora 25 Live Xfce (64-bit Mac) – untested
korora-live-xfce-25-x86_64-mac-mattgadient.com.iso ( md5: 8784dc32e79d69da8fe60c2569d08c17 )
CentOS 7 DVD (64-bit Mac) – untested
CentOS-7-x86_64-DVD-1611-mac-mattgadient.com.iso ( md5: d5baaee01ab9d64c5a88c779a711cd78 )
CentOS 7 Minimal (64-bit Mac) – untested
CentOS-7-x86_64-Minimal-1611-mac-mattgadient.com.iso ( md5: da06627fe82cd6a828325b0241bb73bc )
Parrot Security OS / ParrotSec (64-bit Mac) – untested
Parrot-full-3.4.1_amd64-mac-mattgadient.com.iso ( md5: f77a3b8224f3c75ba7a150a35aa10ebd )
PCLinuxOS KDE5 2017.03 (64-bit Mac) – untested
pclinuxos64-kde5-2017.03-mac-mattgadient.com.iso ( md5: e9b11ef4628381de3499d3a58050497a )
Debian Jesse 8.7.1 non-free including firmware Net Installer (64-bit Mac) – untested
firmware-8.7.1-amd64-netinst-mac-mattgadient.com.iso ( md5: 03edd1786823a32da5f6d281615e2b92 )
- Burn to a DVD. I don’t believe it’ll work via USB (though you could try I suppose). Hold the “option” key on your Mac during boot and select the image. It might be detected as “Windows” or something by the boot menu.
- When you format/install, you’re best to use MBR for the hard drive (not GPT). Most distros will automatically use MBR as part of their “auto format/install” when you use these disk images, but if you do some custom partitioning, you’ll want to keep an eye out.
- I haven’t tested to see if it works with a dual-boot system. The MBR bit might cause complications here.
- If you redistribute the images, please either leave the “mattgadient.com” bit in the file name or replace it with something that clearly indicates it isn’t an official ISO. That way if there are problems with it, people won’t think it’s an official ISO that’s broken.
If you’d like to help offset the bandwidth costs, note that I do have a game on Steam called Alarameth TD. And yes, it supports Linux (linux-specific notes are in the forum). Most of the 2006 macs don’t have the jam to play it mind you (Intel GMA950 is a bit weak), but purchasing for your main rig or as a gift for a friend who might be a tower defence fanatic is always appreciated!
How-to: Making a standard Linux distro ISO compatible with 32-bit EFI Macs
The “problem” with the 32-bit EFI macs (as I understand it) is that they fall apart when they try to load a “multi-catalog” disk image. Most linux distros use multi-catalog images so that they support both BIOS and EFI. When the Mac tries to load the disk image, you get the cryptic “select CD-ROM boot type” text. Since the mac hasn’t loaded any keyboard stuff yet, you can’t actually choose any of the options.
The cleanest solution (I’ll go into alternative solutions in following sections) is to change the disk image to be BIOS-only (non-EFI). Basically, remove other items from the El Torito catalog. That’s what the old Ubuntu amd64+mac ISO’s did. The 64-bit BIOS linux bootloader kicks in, and all is well. A more detailed explanation can be found here.
Converting the ISO
This is done via a very simple C program. Credit goes to the poster here. A lot of extra info if you expand that thread’s bug discussion. Here’s the code (slightly modded to let you provide the file name instead of hard-coding it):
Saved it as “isomacprog.c” (remove the “.txt”), and compile it with:
cc -g -Wall isomacprog.c -o isomacprog
After that, make a COPY of the original ISO for your linux distro and run it against the copy. Something like:
cp original.iso macversion.iso ./isomacprog macversion.iso
This isn’t guaranteed to work on every Linux ISO image out there, but it’s worth a shot, and is what I’ve used for the images above.
The same notes apply as with the ISO’s I provided above. Burn to DVD, use MBR, etc.
I’ll be honest: I prefer the above solution for the following reason:
- Simplicity – it’s the least complicated option.
- Robustness – as long as you partitioned as MBR, it should survive most distro version upgrades since they tend to equate MBR with BIOS, and GPT with EFI. This can matter if it updates the bootloader (I’ve had a GPT bootloader get borked by an upgrade before).
If you’ve got a bad DVD drive or MacBook Air, I’d be inclined to try pulling the drive first and install Linux via another machine (swap the drive back in after and hope for the best).
But if forced to use USB or intent on going the EFI32 route, here are a few places I’d start:
- Thread: Ubuntu 15.04 on Mac Mini 2,1 with EFI boot (2007 Intel) – The guide uses rEFInd on one USB stick. On a 2nd USB install disk it uses a Ubuntu USB install, but adds a bootia32.efi to the /EFI/BOOT folder. When starting up the Mac, uses ALT to bring up the manager and chooses rEFInd. Then once rEFInd has loaded, selects the option that contains “bootia32.efi”.
Once the Ubuntu install is complete, grub fails to install, but there are steps listed to manually install a grub-efi-ia32. Much of it is based on the steps that Jason Heeris provided on his blog. This is a very “EFI-native” solution, but I’d personally still be a little concerned about the potential for major release upgrades to overwrite the bootloader with a new 64-bit EFI.
- Hackintosh bootloader solutions – The hackintosh community has been finding solutions for Apple’s EFI compatibility limitations for years. If you’re looking for something very Mac-specific, search for Mac Pro 1,1 and add ML/MountainLion/10.8/10.9/etc to the search. Otherwise you can peek into various bootloaders like Chameleon, Pike’s bootloader, etc., but your are more likely to hit some trial-and-error bits there since every guide looks at a different purpose (some for just intented for having a different bootloader, some aimed at hackintoshing, etc).
If something above worked (or didn’t work) well for you, leaving a comment below might help the next person out. Also helpful for letting me know if the server I rented to host the ISO’s on went down, or if you’re not comfortable compiling an image yourself and need a specific ISO provided.