Mac Mini G4: The Arch Way

I bought a second hand Mac Mini G4 off a colleague last year, which I was using as a Fedora workstation. Because I’ve been playing with Arch Linux on VirtualBox recently, I decided to take the plunge and replace the Fedora installation with Arch Linux PPC. The aim was to convert this “lowly” 1.2 GHz, 512 MB, 40 GB hard disk box into a home server. Apache, Python, Django, PostgreSQL, MoinMoin, Mercurial etc. you get the idea. Being a rolling release distribution, Arch might seem like an odd choice but it’s a home environment not a production one so the only person affected by software incompatibilities will be me. Likewise, PowerPC isn’t a primary platform for Arch, but then again it isn’t for Fedora anymore. Madness? Well maybe, but it seemed like an interesting way to spend a Saturday.

Despite being a distro for more advanced Linux users, Arch is surprisingly easy to install and set up. The project provides excellent documentation: clear, concise and cross-referenced. The installer is as easy to use as any I’ve found on more newbie-friendly distributions. However, you do need to feel reasonably comfortable with the shell, editing config files and partitioning disks. Then again, it’s unlikely you’ll be trying Arch Linux over something like Fedora or Ubuntu if you don’t.

Being a secondary platform for Arch, and noting that the PPC supplementary notes had been revised recently, I was expecting to have a few problems with the installation. In the end, the only real problem I had was getting Arch’s package manager, pacman, to find a repository server. A quick search on Google yielded the problem straight away, and one that was really obvious in hindsight: an empty Server= declaration at the end of the default config file. A quick commenting out and the problem was fixed.

Networking was picked up without a hitch, I actually did the installation downloading the latest packages via FTP so was definitely pleased about not having to fiddle with drivers and other headaches. The Apple keyboard and Logitech mouse worked just fine. was a breeze to set up – much nicer than it was when I had to mess about with huge XFree86 configs files ten years ago! I have wmii set up as my window manager, although have had a bit of trouble getting it to play nicely with a login manager like XDM or GDM. It’s a permissions problem that I need to investigate, but not a major issue as the machine will be a server so firing up X by default is pointless.

Although there’s a good selection of binary packages for PowerPC, you will likely end up needing to install the Arch Build System (ABS) to build missing packages from scratch. ABS is a joy to use and a classic example of Arch’s elegant, minimalist approach to system maintenance. I started off using it to get mod_wsgi installed and expected it to be a rather awkward experience, so was both surprised and pleased when it proved to be simple and painless. A minor tweak to the PKGBUILD config file to add ppc architecture and voila! The built package can then be installed via pacman and you’re ready to go.

I’m only a day into the experiment, but so far it’s working very well. Arch Linux doesn’t install lots of packages by default, nor does it have dozens of services all installed and running on a base installation. I feel more aware of every component in the system, and I have a lot of control over what specific things I want installed. For the sake of a little bit of extra effort initially, I have a system configured exactly the way I want it and have built a lean, understandable server configuration. That can only be a good thing.

If you’re worried about using Arch on a server environment, due to its rolling release nature, there is a project underway to provide a suitable server distribution with more emphasis on long term support and stability on x86 without sacrificing the Arch way.

Anyway, full marks to the Arch Linux team, and especially the guys who have helped restart the PowerPC support for Arch.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s