Over the past six or seven years, I’ve managed to build-up quite a repertoire of Apple hardware products. As OS/X progresses, unfortunately, some of my older hardware just isn’t able to perform with the latest OS in a way that makes the machine useful. This, most recently, was an issue with one of my Mac Minis which happens to be a 2.1, 32bit model from 2007. I’ve been using this machine as one of my home automation servers and have been running Snow Leopard on it for a while. I decided that I wanted to give the machine new life by scrapping OS/X and installing Linux Mint.
If you’re reading this post then you, most likely, have already discovered that the process isn’t as simple as it sounds. For those that don’t know, Apple Macs use what is known as Extensible Firmware Interface (EFI) to handle the boot process rather than the older Basic Input Output System (BIOS) mechanism that has been around for so long and has been a staple on PCs until recently. The details of these two systems is beyond the scope of this article but suffice it to say that, unfortunately, most Linux distributions are not able to leverage the alternative architecture that controls/manages the boot process on these Mac machines.
The good news for us in our quest to install an alternative operating system on our Mac is that Apple has included a mechanism on its machines that allows it to present an emulated BIOS and a Master Boot Record (MBR) that Linux will need to install and boot. These are some of the features that are provided via Apple’s “Bootcamp” multi-boot system.
What We’ll Need
Really all we need is a copy of the Linux ISO for whatever distro we plan to install.
Many of the guides that cover this subject talk about using Unetbootin to install the Linux ISO to a USB stick. The idea is to then boot off of the USB stick and then perform the Linux installation. This has worked for me on 64bit Mac Minis but it did not work on my 32bit Mini 2.1. There are articles that claim to be able to force these machines to boot via USB but it’s just as easy to burn our ISO to DVD and boot/install from that.
Many of these same guides also talk of using rEFIt or rEFInd, but neither are needed to accomplish our goal of installing and booting Linux on a Mac Mini.
Note: Following these steps will not set up a dual boot instance of Linux on your Mac. These steps will completely remove OS/X from your computer.
Boot up your Mac Mini target into OS/X and then follow along:
Step 1: Download the 32bit version of the Linux Mint Mate ISO and burn it to a DVD.
Step 2: Pop the Linux DVD image into the Mini and reboot your Mac and hold down the option key (alt key on Windows Keyboards) being sure to select the Optical boot option from the list of available options. Don’t be surprised if it says Windows.
Step 3: Run the Linux Mint installer from the desktop, during the install, select use all space during the partition setup step.
For me, this process worked just fine. When I would reboot the machine, I would be presented with the normal Apple white / gray screen, I would hit enter a few times and Linux Mint would boot right up. I did notice that I had to press enter to force the boot. If I didn’t the computer would appear to lock-up.
After a bit more research, I discovered that I needed to tell the Mac to boot in BIOS mode rather than attempting a normal EFI boot. The easiest way to accomplish this is to insert a copy of your OS/X media into the Mini’s optical drive and reboot. In my case, it boots right up off of the optical drive but you may have to hold the option key down and select your optical drive as your boot option. Once the install screen comes up, select Terminal from the utilities menu and run the following command to determine which partition is your boot partition.
My boot partition was disk0s1. Once I knew this, I was able to issue the following command:
bless --device /dev/disk0s1 --setBoot --legacy --verbose
Much better! Now turning the computer on resulted in an instantaneous boot into Linux. Now I noticed that a warm boot would result in the computer just hanging on the white / gray screen just as before but a cold boot would work every time. The key to fixing this issue is to modify the reboot kernel parameter from its default of kbd to cold. To do this, I needed to modify the the GRUB_CMDLINE_LINUX_DEFAULT line in /etc/default/grub to include reboot=cold. In my case this modified line now reads GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash reboot=cold”.
After making these changes, My Mac Mini would boot Linux Mint perfectly every time and is much much faster than it was when it was running OS/X!
A Couple of Gotchas
(1) When trying to go back and configure my Mac to “legacy” boot, I did notice that trying to boot off of my Mountain Lion DVD would not work. I didn’t try troubleshooting the issue but instead tried booting off of my Snow Leopard DVD which worked just fine.
(2) When I did my initial install, I did use the rEFIt Boot Loader. In an attempt to fix the lock-up I was experiencing, I issued the following command from a Linux terminal to change my partition table from GUID Partition Table (GPT) to the more common Master Boot Record (MBR).
This blew away the rEFIt Boot Loader and put me back to the default Apple bootloader. After reinstalling Linux Mint, I found that this change didn’t resolve or otherwise help the “hang-up” issue and therefore was a totally unnecessary step. This did show me, however, that using an alternative bootloader was unnecessary as the Apple bootloader works just fine.
Until next time – GEEK OUT!