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 so most 64-bit 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. You may have to be creative.
Option 1: Pre-modded 64-bit DVD Images for the 32-bit EFI models listed above
For DVD-burning only (see Option 4 for USB).
Warning: You’re best to skip to Option 3 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.
April 19 2020: I’ve re-added a few pre-modded ISOs here (the old server died long ago, taking the hundred or so ISOs with it). Due to reduced disk space and bandwidth on the new server, it is likely that only a minimal selection of the more popular distros will be offered from now on. For other distros, you will have to follow the instructions in the other sections to mod your own ISO.
ubuntu-20.04-desktop-amd64-mac-mattgadient.com.iso ( md5: aa38a556fa5648a706b365665eee2cd2 )
Lubuntu 20.04.1 LXQT (64-bit Mac) – 1.7 GB
lubuntu-20.04.1-desktop-amd64-mac-mattgadient.com.iso ( md5: 78967d5a57240acf0a6edb975a519da3 )
Ubuntu 18.04 Desktop (64-bit Mac) – 2.0 GB
ubuntu-18.04.4-desktop-amd64-mac-mattgadient.com.iso ( md5: 1ec7f556caf83a4c14c57818b8c018cd )
Lubuntu 18.04 LXDE (64-bit Mac) – 1.2 GB
lubuntu-18.04.4-desktop-amd64-mac-mattgadient.com.iso ( md5: 8bdd6b561768f7990d230b6019f8630e )
Xubuntu 18.04 XFCE (64-bit Mac) – 1.5 GB
xubuntu-18.04.4-desktop-amd64-mac-mattgadient.com.iso ( md5: e7cc98d6d11ac9a83281ebc27d5e63d6 )
Ubuntu 16.04 Desktop (64-bit Mac) – 1.6 GB
ubuntu-16.04.6-desktop-amd64-mac-mattgadient.com.iso ( md5: 2dd875ae71eeed3b94d08130e07ba599 )
Lubuntu 16.04 LXDE (64-bit Mac) – 932 MB
lubuntu-16.04.6-desktop-amd64-mac-mattgadient.com.iso ( md5: c8838182ac372edb55c69bfec250b1e7 )
NOTE: These older versions are worth trying if you are using dedicated graphics (ATI/nVidia) and are not having luck with new versions. If these work, you can search for and try “nomodeset” when attempting a newer version.
Ubuntu 14.04.4 Desktop (64-bit Mac)
ubuntu-14.04.4-desktop-amd64+mac.iso ( from http://old-releases.ubuntu.com/releases/)
Ubuntu 12.04.4 Desktop (64-bit Mac)
ubuntu-12.04.4-desktop-amd64+mac.iso ( from http://old-releases.ubuntu.com/releases/)
linuxmint-20-cinnamon-64bit-mac-mattgadient.com.iso ( md5: ddb562eea46a0589d649da2136b4de1d )
Linux Mint 19.3 Cinnamon “Tricia” (64-bit Mac) – 1.9 GB
linuxmint-19.3-cinnamon-64bit-mac-mattgadient.com.iso ( md5: 8e8112a70d2ec03573189586a10e4afd )
Linux Mint 19.3 XFCE “Tricia” (64-bit Mac) – 1.9 GB
linuxmint-19.3-xfce-64bit-mac-mattgadient.com.iso ( md5: 44415e6b5a4d8042ae71135d554b48d5 )
elementaryos-5.1-stable.20200405-mac-mattgadient.com.iso ( md5: d62fb6d45b3026244b7ce8ef1e653e69 )
Fedora-Workstation-Live-x86_64-31-1.9-mac-mattgadient.com.iso ( md5: 9ee717892e2d5ca9dc429926e9f72698 )
Fedora 31 XFCE Live (64-bit Mac) – 1.4 GB
Fedora-Xfce-Live-x86_64-31-1.9-mac-mattgadient.com.iso ( md5: 079a3e028deb48ea71d80a95d3f864a8 )
debian-live-10.3.0-amd64-gnome+nonfree-mac-mattgadient.com.iso ( md5: 234ebce0a46a661f51c4bb62011537e6 )
Debian 10.3.0 Live XFCE + non-free (64-bit Mac) – 2.7 GB
debian-live-10.3.0-amd64-xfce+nonfree-mac-mattgadient.com.iso ( md5: 064708164f9a41cd01a03bbdcbd985aa )
Note: If you’re able and willing to use a “netinst” installer, and without the non-free firmware, Debian provides an official debian-mac-x.x.x-amd64-netinst.iso which can be found at https://cdimage.debian.org/cdimage/release/current/amd64/iso-cd/.
I have only personally used/tested Ubuntu 16.04, 17.10, and Fedora 24. Note that Lubuntu tends to be one of the snappiest installs if you don’t mind the LXDE interface.
Check out the comments for successful and non-successful distros/versions that others have been kind enough to report back with.
- Burn to a DVD (these will not work for USB – see Option 4 further down if you need USB). Hold the “option” key on your Mac during boot and select the image. It will likely be detected as “Windows” by the boot menu.
- If burning the DVD from macOS, do not use Disk Utility. Use a dedicated program capable of burning ISOs (Burn and SimplyBurn are a couple open source programs capable of this).
- 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. Some people in the comments mentioned success, but you are on your own 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.
- Update: As far as the firmware is concerned, there’s no default start-up partition anymore. Thus, the Mac will sit at the white/grey screen for about 30 seconds on each boot looking for all the drives before it fires up Ubuntu. If you don’t mind, great! If you *do* mind, I have another write-up for dealing with that here if you’d like to tackle it after you’ve got Linux up and running. Note that it requires an OS X Install DVD to “bless” your new Linux install.
If your computer has an nVidia or ATI video card and you aren’t seeing anything at boot or it appears to freeze, you can try setting “nomodeset” and enabling debug. This involves entering the grub boot menu and changing
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet" to
GRUB_CMDLINE_LINUX_DEFAULT="nosplash debug nomodeset". A web search for your distro plus “nomodeset” will give plenty of details. You can also search the web for your particular video card and whatever distro you’re attempting to use as this is generally not a Mac-specific issue, but due to proprietary drivers that have long stopped being supported. If “nomodeset” alleviates the issue, you can search the web for instructions to permanently add this to the boot menu and
update-grub on the distro you chose.
If the install proceeds fine but the system won’t boot from the hard drive after installation, there is a strong possibility that your distro installer formatted the hard drive via GPT/EFI instead of MBR/BIOS. You can check this by booting from the LiveDVD again, starting the Terminal program, and typing
parted -l or
fdisk -l (that is a lower-case L). If you see “gpt” listed for the hard drive (instead of “dos” or “msdos”), this is likely your issue. The most simple option is to install Ubuntu and let it do a full erase/install, as Ubuntu tends to be well-behaved here. However if Ubuntu is not an option, you will need to do some manual work along with a reinstall. You may want to consider disconnecting any drives with important data on them (USB drives and hard drives) first so that you can not accidentally erase them in the process. To manually wipe a drive pre-install and force MBR, you can do the following from your LiveDVD (again in a Terminal – all data will be lost):
parted /dev/sda mklabel msdos or
fdisk -t dos /dev/sda. Replace /dev/sda with the actual path of your hard drive. If you don’t know what the path is, you can run
parted -l or
fdisk -l again and see if you can decipher which drive letter is for your hard drive. Alternately, there is often a GParted program available on LiveDVDs that will show you the paths for your drives (/dev/sda, /dev/sdb, etc) in a more readable way. Once you’ve finished, restart, boot from the LiveDVD, and decide whether you want to trust the automatic installer or want to manually create partitions to install on. After the install completes you can try
parted -l or
fdisk -l again to verify that the drives are still “dos” or “msdos” (good) and not “gpt” (bad). If it’s “gpt” (bad) you’re simply going to have to fight with your distro’s installer.
Option 2: Mod an ISO yourself with the modding program.
Note that if you’re happy to compile the program on your own (it takes under 5 seconds to compile), option #3 below is preferred.
This is the program I use to mod ISOs. It’s quite simple to use: you just run it against an ISO. So head to your favorite distros website, download the ISO, open Terminal, and run this program against the ISO.
The program is tiny, and a big advantage to using this program to mod your own ISOs is that it’s very quick. It also allows you to modify ISOs I do not provide above.
MacOS version (compiled): isomacprog.gz
Linux version (compiled): isomacprog.gz
You’ll have to decompress it and make it executable. Normally this is done from a Terminal window. As an example:
cd ~/Downloads gunzip isomacprog.gz chmod +x isomacprog
The program should technically run at this point. You can check it by typing:
…it should say “No iso name assigned”. If it doesn’t work and you get a cryptic error, you will likely have to compile it on your own via steps in the “How To” section.
To actually mod the ISO, I prefer to make a copy of the original, and run the program against the copy. Replace “original.iso” below with the name of the ISO you downloaded and want to mod:
cp original.iso macversion.iso ./isomacprog macversion.iso
…it should usually take less than a second to run. You can verify that it worked by typing the following on a Mac, again replacing “original.iso” with the name of the ISO you downloaded:
md5 original.iso md5 macversion.iso
…or on Linux…
md5sum original.iso md5sum macversion.iso
If the MD5 is unique for each file, the program worked and you can burn
macversion.iso to a DVD. Some ISOs will not work with the program (the before and after MD5 will be identical), in which case you’re out of luck and should probably attempt another distro.
Note that just because the program successfully modded the ISO does not mean the distro itself will work – you won’t know for sure until you try the install. Stock Ubuntu LTS releases tend to work (with older ones having higher success rates depending on your Mac model). Arch and Arch-based distros (Manjaro/etc) have very low success rates and often require manual work to get a bootloader going. In any case, you may want to parse through the comments below to see what distros people have had luck with.
The notes from Option 1 (burn to DVD, etc) apply.
Option 3: Compiling the program to make a standard Linux 64-bit distro ISO compatible with 32-bit EFI Macs
This is the recommended method for modding an ISO. The source code is under 60 lines (easy to parse if you’re a programmer). It compiles within a couple seconds and the program itself takes less than a second to run against any ISO you downloaded.
A short explanation of the situation, followed by the source code and instructions:
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 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):
Source code: isomacprog.c.txt
Save 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 notes from Option 1 (burn to DVD, etc) apply.
A number of people in the comments indicated they weren’t sure how to compile a program. Thus, I have put some copy/paste instructions below for people currently running Ubuntu (and Ubuntu-variants). I can not add instructions for every possible OS combination unfortunately, but a bit of web searching should get you started.
I will warn you that I do not really recommend this copy/paste option. If the ISO doesn’t work you won’t know whether it’s because there was an issue with the hunk you copy/pasted, or whether that distro just doesn’t work.
Copy/paste instructions for Ubuntu 18.04.1 (dump them in the terminal and cross your fingers):
cd ~ && \ sudo apt install build-essential curl && \ curl https://mattgadient.com/dl/linux-iso-program/isomacprog.c.txt > isomacprog.c && \ gcc -g -Wall isomacprog.c -o isomacprog && \ curl http://releases.ubuntu.com/bionic/ubuntu-18.04.1-desktop-amd64.iso > my-linux-mac.iso && \ chmod +x ./isomacprog && \ ./isomacprog my-linux-mac.iso && \ echo "Done. If there were no errors you can find/burn my-linux-mac.iso" && \ echo "from your home directory to a DVD!"
- Want to use another distro? Replace http://releases.ubuntu.com…ubuntu-18.04.1-desktop.iso with a link to an ISO from your favorite distro. This means you will have to copy/paste into a TEXT EDITOR first, make your ISO change, and then copy/paste the whole (modified) chunk into a Terminal window.
- The “sudo apt install…” line will cause this block of text to require your password, as it has to install build-essential and curl to your system. This will happen immediately. After that, you can get a coffee while it downloads the ISO.
- Your new ISO will be in your Home directory (from the file manager it will likely either be called “Home” or “YourName”). The file itself will be called “my-linux-mac.iso”. Rename it afterwards (once the program has finished) to something you’ll remember and then burn to a DVD.
Option 4: Alternative Options (USB, etc)
I’ll be honest: I prefer the above solution(s) for the following reasons:
- Simplicity – it’s the least complicated option.
- Robustness – as long as you partitioned as MBR, the install should survive most (not all) 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:
- Update: Stefan has a step-by-step process for Live CD on an USB Stick (32-bit EFI, 64-bit Linux) which manually creates an EFI32 partition on the install USB. This is probably the route to try first.
- Update 2: Gero has mentioned a USB-bootable method via YUMI. You can find details via Gero’s blog at https://ger.oza.hn/2020/02/orbsmart-aw-05-minipc-und-linux-mint-64-bit/ (German, though Google translate works well for non-German speakers). The YUMI tool itself can be found at https://www.pendrivelinux.com/yumi-multiboot-usb-creator/ .
- 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 having a different bootloader, some aimed at hackintoshing, etc).
Regarding comments: As of 2020, there were nearly 900 comments on this page! While comments have always been much appreciated, I recently reached the point where I had to start pruning comments back. Unfortunately the comment system isn’t well suited to displaying a large volume of information in a readable way: many questions went unanswered, and many duplicate questions arose. Older mobile phones also struggled to display the page and required some workarounds as comments grew over the years.
Moving forward, comments will likely be pruned on a regular basis to try and strike a balance between size/readability and the information provided. The focus for now will be on retaining success/failure reports that list the Distro/MacModel, steps that allowed a distro to work, and how to address specific issues. Essentially I’d like to get things to the point where 99% of people who arrive here with a question/issue that isn’t addressed above can quickly find the answers they’re looking for in the comments below.
I know a lot of thoughtful, informative, and insightful comments have been removed during this process, and for that I do apologize.