An older Mac Mini that may not run the latest version of OS X can make a great workgroup or lab server when loaded with FreeBSD. The procedure is not straight forward due to the way Apple implemented their UEFI firmware. This article will explain how I turned a discarded Mac Mini into a private cloud server using FreeBSD, ZFS, Jails, vnet(9). The first installment details the base system install.
Previous installations of FreeBSD on Macintosh G3 and G4 computers have been a complete success, so I had high hopes that the same would be the case with FreeBSD 11 on an older 32 Bit Intel based Mac Mini.
Due to Apple’s desire to make booting alternative operating systems difficult on their Intel hardware getting FreeBSD with ZFS operational was more of a challenge than originally anticipated.
The original goal of FreeBSD 11 with ZFS root on the 32 bit Mac Mini seemed possible based on several guides found on the internet. The reality proved to be very different.
The end result of my efforts are a FreeBSD 11 install with a small UFS root and ZFS for everything else. While the details of why ZFS root did not work may be of interest to some I suspect most readers are here to find out how to install FreeBSD 11 on their own Mac Mini to turn it into a rocking home server or even wireless router, so I will move right to those fun bits.
Please keep in mind this is about a 32bit Mac mini running FreeBSD 11. While I believe all the below will apply to a 64 bit system I have not tried on a 64 bit system.
This procedure requires 2 disks to complete the installation. At the start you need a bootable Mac OS X 10.6 or later disc. This disc will be used in early stages of the install and again at the last stages of the install. This can not be the disc where you plan to install FreeBSD 11. In my case I removed the 80G Mac Mini internal disc, replaced it with a 1TB internal disc and put the 80G disc into a USB case to use it as a bootable USB drive. You could also prepare a USB flash drive with a working copy of OS X, but that is beyond the scope of this article.
© 2017 codeimmersive