All computers have their day in the sun, and then something new comes along that makes them less desirable. I have a Mac Mini that I acquired sometime around the time OS X Leopard came out, probably in 2009. As time went by it became slower and slower and I finally replaced it. However, it seemed a bit of a shame to have it just sitting in a closet doing nothing, so I decided to see if I could put Ubuntu Linux 12.04 (the most recent LTS version) on it. I started out by trying to follow the instructions on this page (the Single Boot/MBR option) but ultimately it turned out to be not nearly that complicated. NOTE THAT THIS WILL NOT GIVE YOU A DUAL BOOT SYSTEM; THIS IS REPLACING OS X WITH UBUNTU LINUX, AND ALL YOUR EXISTING DATA ON THE HARD DRIVE WILL BE ERASED!!! YOU HAVE BEEN WARNED!!!
Also: THIS IS FOR EXPERIMENTAL AND INFORMATIONAL PURPOSES ONLY. This is what worked for ME. This MAY or MAY NOT work for you. It may even brick your system (if that should happen, try doing a PRAM reset before you totally panic). It did not do that to me, but your hardware may be a bit different than mine, so I make NO guarantees!!! Here’s all I wound up having to do:
- Connected a USB keyboard and mouse.
- Before proceeding I made sure I had the latest firmware upgrade – that is very important since you can’t do it once you have installed Ubuntu, and the rest of this might not work if you have old firmware. Another thing you can’t do is disable the startup chime so if you don’t want that after Linux is installed, find a way to turn it off before proceeding (I wanted and it’s used in the instructions that follow, so I didn’t search for a way to disable it, and I don’t recommend you do either).
- Inserted my old OS X Leopard installation CD
- Rebooted while holding down the “C” key
- Accepted the default language (English) and pressed Enter
- From the top menu bar, I selected Utilities | Disk Utility
- In Disk Utility I selected the internal hard drive in the left hand side panel. You have to select the drive itself (it shows the brand name of your drive), not the partition
- Clicked the Partition tab, selected 1 Partition under the Volume Scheme (instead of Current)
- Clicked the Options button and selected “Master Boot Record”
- Clicked the Continue button (this erases the hard drive)
- When the above finished, I quit Disk Utility, then quit the installer
- The Mac rebooted — at that point I clicked and held the leftmost mouse button until the CD ejected
- Inserted the Ubuntu Install CD, then power cycled the Mac Mini
- At the startup chime I pressed the “C” key to boot from the CD
- When the Ubuntu CD boots, you are given the option to install Ubuntu directly, or to try Ubuntu (which takes you to the Ubuntu desktop). As it turns out, I could have simply ran the installer. Instead, I did it from the desktop because I was following some instructions that said you have to type in some things during the install, and you need to have access to a terminal window to do that. But when I tried to type those things in, Ubuntu rejected them with errors, so I just let it complete the install (answering the questions it asked during the install). I did NOT select any special partitioning, etc. – I pretty much did a plain vanilla installation, generally accepting the defaults except where they weren’t appropriate or weren’t what I wanted.
When the install was finished (after quite some time), I rebooted. The only unusual thing was that after the reboot, the screen remains white for about 15-20 seconds right at the start of the reboot. Then after that delay, it finally decides it will load Ubuntu. That still happens and while it makes the startup take a bit longer, I’ve seen worse.
Oh, and the sound was muted by default for some reason, and the volume slider set all the way down. After I unmuted it and turned up the volume slider, the sound worked normally.
The wired network connection worked fine. I don’t use WiFi here so I did not test that.
The only real hitch I found was that it won’t boot if you don’t have a video display connected! I have no idea why that is the case but there is a hardware workaround described on this page. Hope you didn’t misplace your Mac Mini’s DVI to VGA adapter! I had a 100 Ω resistor handy and that seems to work fine (it’s probably about 40 or 50 years old but what the heck, carbon resistors don’t change value that much just sitting in a junk box). If you can’t find the DVI to VGA adapter, I have read that at least one user placed a resistor directly into the DVI port between pins C2 and C5; you can use this pinout diagram to find those pins. However, I have not tried this, so I make no guarantees. Either way, the point is that the resistor goes between the analog green signal output and the analog ground return. If you can’t find the adapter, can’t get this to work, or if you just don’t want to mess around with a resistor, you can try a DVI Emulator/Dummy Plug that includes an EDID chip, that may be available from Amazon or eBay. A DVI 1920×1080 or 1920×1200 model should be sufficient; you can find one maker of them here. Such a devices fools the Mac Mini into thinking a display is connected.
After I had this running for a year or two I read that Ubuntu doesn’t control the system fan properly. You can do this in some newer versions of Ubuntu to get fan control to work. First, try using the Ubuntu Software Center to search for and install the macfanctld package (after you check for updates). If that doesn’t work, try this:
sudo apt-get install -y macfanctld
If you are trying to use an older version of Ubuntu, you may need to do this instead (this is NOT necessary in recent Ubuntu versions; the above should be sufficient):
sudo add-apt-repository ppa:mactel-support/ppa
sudo apt-get update
sudo apt-get install -y macfanctld applesmc-dkms
On my system at least, it appeared that this did cause the fan to run a bit faster but not enough that I really noticed it. Once it is installed, you can type man macfanctld at a Linux command prompt to get configuration instructions. Changes to temperature limits and minimum fan speed are made in the file /etc/macfanctl.conf.
Also, although I have not personally done this, I have read on a couple of pages that you can enable automatic reboot after a power interruption by adding one line to /etc/rc.local:
setpci -s 0:1f.0 0xa4.b=0
By the way, I had intended to try Linux Mint but they no longer offer a version that fits on a CD, and I still have about a gazillion blank CDs (plus I already had Ubuntu 12.04 burned to CD) and since the Mac Mini doesn’t have a BIOS in the traditional sense, there is no way to install from a USB stick, so Ubuntu it was. For what I plan to do with this, having Mint would be no advantage, though being able to disable (or decrease the CPU usage of) Unity might be. I hate f—ing Unity and may yet try to find a way to replace it, but that’s not high on my list right now.
Note that nowhere above did I mention a program called rEFIt, nor did I mention BootCamp. I didn’t need either of those.
Had this not worked I could have always reinstalled Leopard, but again, for what I’ll probably be doing with this system (running a MythTV backend, for one thing) Linux was probably a better choice, but I still wanted to be able to use this as a backup regular desktop computer, should the need ever arise. After trying this for a while, I went ahead and installed Mythbuntu over the top of Ubuntu (in effect wiping the first install and starting over), and it’s worked great (and NO Unity!).
Note that if you wind up going with Mythbuntu as I did, you may find that you cannot connect from other machines on the same local network unless you create a rule in the firewall to allow it. I don’t recall explicitly having to do that, but it might be something that I did and then it slipped my mind, and I have read that others have had to it. If you find that you need to do it, simply open a terminal window and enter a command similar to this:
sudo ufw allow from 192.168.0.0/24
replacing 192.168.0.0/24 with a value appropriate for the IP address range used on your local network, if your addresses do not fall into the 192.168.0.x pattern. Note that I am not clear on whether this needs to be done on the Mythbuntu backend itself, or on other machines that are attempting to connect to the backend, or both. Obviously, this is only appropriate for systems that run ufw as the firewall (probably most *buntu distributions).
If you find that your samba log files fill up with complaints such as “Unable to connect to CUPS server localhost:631 – Connection refused”, here is a workaround. In the [global] section of /etc/samba/smb.conf add these lines:
printing = bsd
printcap name = /dev/null
Then from a command prompt restart samba:
sudo service smbd restart
One final note: This is the xorg.conf I used with my “headless” Mythbuntu system. It came from this blog post and I did have to save it as /etc/X11/xorg.conf and not the filename shown in the post:
Section "Monitor" Identifier "Monitor0" Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync EndSection Section "Screen" Identifier "Screen0" Device "VGA1" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080_60.00" "1024x768_60.00" EndSubSection EndSection