17th December 2014

Linux on MacMini (2006 model)

I bought in 2006 a MacMini. That year there were two MacMini releases, mine corresponding to the older model (MA206LL/A, Model Number A1176, Model Id: Macmini1,1), with a 1.66 GHz Intel Core Duo (32 bits).

It had a slow 80Gb harddisk and 512 Mb of memory, which I immediately updated to 1 Gb. It run Os X Tiger; eventually it would be upgraded to Leopard and then to Snow Leopard. It was never my main computer, and by 2011, at latest, it had been safely stored in some storage box. My main computer in 2006 was a 2003 Dell laptop, and when its power supply died those Christmas, I could not use the Mac Mini as replacement, and I bought quickly an Acer desktop. Although I later replaced the Dell's power supply, the Acer desktop would become my main computer until the end of 2008, when I built up my first Hackintosh.

The Acer desktop was a noisy beast, and is definitely the only computer I have owned which I have professed zero love. Is still alive, upgraded from the original Windows XP to Windows Vista, and has been lent to one friend or other for the best of 4 years. At some moment I measured the energy it used, and it was somewhere around 150 Watts; mind you, it had a discrete graphics card (Nvidia GT8600), but the Mac Mini, slightly older, only drew 20-25 watts on same conditions.

The quietness and low power requirements of the MacMini made me think recently about upgrading this machine and use it as generic home server. I had a 128 SSD unused, so I needed only purchasing the CPU and memory. Prices were really low: a much improved Core 2 Duo T7200 (64 bits) costed me 16 euros in Ebay, and 2 modules of 1 Gb costed 15 euros in Amazon, so the full upgrade was just around 30 euros. In fact, this machine could have been upgraded to a T7600 and 4 Gb (although only using a bit over 3 Gb), but that upgrade was almost 100 euros.

Funny that the very latest MacMini is rather cheap, at 520 euros, but accepts no user upgrades at all...

The upgrade was not simple, but neither overly complicated. The guides from iFixit made definitely all the difference:

These updates were purely mechanical (but my dexterity played definitely against me here :-). One additional change I did at this level was disconnecting the speaker, displayed on the right figure, also from iFixit. Listening the bell each time I boot the machine was definitely no pleasure...

In addition to these physical changes, I had to update the firmware; the default one would not recognise USB 2.0 keyboards until the operating system was running. Although I have USB 1.1 keyboards, the default one is an Apple USB 2.0. There is a way to upgrade the initial firmware (Macmini1,1) to (Macmini2,1), which would also allow me to add additional RAM. This upgrade is documented here, see the 24th post, by Diogenes, Nov 20, 2011, 01:31 PM. It contains a zip file (...) and instructions to perform the update, which must be done from OsX. For completeness, I am including the EFI updater archive, although I would recommend download it from the original post, in case some updates are made on the meantime...

To install the operative system, the best option in this machine is to use the CD-ROM. After some considerations about using FreeBSD, I decided to install Ubuntu 14.10 server (64 bits) - OsX was never an option, and, in any case, the latest version of OsX that could be installed in this machine would have been OsX Lion.

Now, there is a problem: This is a 32-bit EFI Mac, and its just refuses to boot from a UEFI(X64)+BIOS bootable CD/DVD, which as it goes, is the format of the Ubuntu server installation disc. There is a solution: to remove UEFI support from the CD first.

#1 Install xorriso
apt-get install xorriso

#mount the original Ubuntu ISO
mkdir /mnt/iso
mount -o loop ubuntu-14.10-server-amd64.iso /mnt/iso

#3 create the new ISO, wihout EFI
xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames -volid "archisolabel" \
	-appid "Ubuntu Linux CD" -publisher "Ubuntu" -preparer "prepared by coderazzi" \
	-eltorito-boot isolinux/isolinux.bin -eltorito-catalog isolinux/boot.cat \
	-no-emul-boot -boot-load-size 4 -boot-info-table -output ubuntu-no-uefi.iso /mnt/iso/

#4 burn the CD
wodim -tao dev=/dev/cdrom -v -data ubuntu-no-uefi.iso

Now, this CD can be used to install Ubuntu without problems. And now my MacMini is happily running Ubuntu Server...