Issue #7 May 2005

Installing Fedora Core on the Mac mini

The Apple® Mac® mini is Apple's latest offer in the arena of groovy computing. It also serves a Linux geek's bliss: it sports an affordable PowerPC system in a small, quiet, stackable, and attractive case.

Models available from Apple currently ship either with the 1.25GHz or 1.42GHz PowerPC G4 processor and with 40GB or 80GB of disk space by default. It comes with a Radeon 9200 32MB video card and a standard of 256MB of RAM (which can be upgraded). Options for Bluetooth® and Airport® Extreme exist, however the latter will not work on Linux. Note that it only has one memory slot, so upgrading the memory is recommended at purchase time.

Getting your feet wet

Unpacking the Mac mini was a rather exciting process. Looking at the form factor, it could sit almost anywhere! The kit includes a DVI to VGA adapter, which I plugged in, to attach the monitor to. The Mac mini, not coming with any display or input devices, relies entirely on "bring your own" hardware. I attached a 15" CRT and a standard Apple USB keyboard and optical mouse.

Turning it on, you get automatically booted into Mac OS X. Don't get too used to it just yet, because to get Fedora on your Mac mini, the disk is going to have to be repartitioned. From a Terminal, you can find the default disk usage and partition format (only one large partition) with the df -h command. The output is shown in Example 1, "Output of disk usage on a factory default installation of OS X".

Filesystem                Size   Used  Avail Capacity  Mounted on
/dev/disk0s3               74G   8.7G    65G    12%    /
Example 1. Output of disk usage on a factory default installation of OS X

Reinstalling OS X

This only applies to those wanting to dual-boot Fedora Core alongside Mac OS X; if that's not you, skip over to the section called "Starting with Fedora". Seeing that the Fedora Core installer can't resize HFS+ partitions, and there's only one large partition in the factory default shipped mode, its time to get the installer DVD and reboot with it. When rebooting, hold down the ‘C' key to boot from the optical media drive.

Once the installer starts, the Disk Utility needs to run so that partitioning can take place; do this by clicking Installer -> Open Disk Utility. Next, click on the Partition tab, and under Volume Scheme, select two partitions— for instance, one for Mac OS X and the other for Linux. Optionally, give the partition Untitled 1 a partition name, and then click on the Partition button. This is a destructive exercise, so if you had any data earlier, make sure you already have backups. Now exit the Disk Utility (click Disk Utility -> Quit Disk Utility) and continue on with your Mac OS X installation on the first partition Untitled 1.

Once the installation of Mac OS X is complete on Untitled 1, and you've verified that Mac OS X works as before, it's time to go ahead and install Fedora Core!

Starting with Fedora

To install Fedora Core on your Mac mini, you need to download the ISOs. At the time of writing, the current release available is Fedora Core 4 Test 3, and it comes in a set of 5 CD downloads, or 1 DVD, and is available from http://fedora.redhat.com/. While test releases are not recommended for general user installation (you even get a warning at the start of the installation), you can be relatively assured that most things work rather well in the test release—however, waiting for Fedora Core 4 to be released is also an option. Keep in mind that the PowerPC architecture port only made its way out since the Fedora Core 4 cycle; it was always previously based from the development tree.

Place CD 1 or the DVD into the optical drive, and restart your Mac mini while holding down the ‘C' key. You will notice the "yaboot" boot screen as shown in Example 2, "Boot options". yaboot is defined as the Macintosh OpenFirmware loader—it is like the the GRUB equivalent on x86 machines. As of Test 3, some have noticed that passing a boot option to get the X configuration right was required—this should be fixed by the time we arrive at Fedora Core 4, proper. So at the boot prompt, type linux resolution=1024x768, then hit the Enter key.

Welcome!
Hit <TAB> for boot options.

Welcome to yaboot version 1.3.12
Enter "help" to get some basic usage information
boot:
	linux
Example 2. Boot options

The Fedora install is now rather regular as it is on the other architectures. The media check is optional, and once that is complete, the X server should start, giving you a graphical installation screen (depicted in Figure 1, "The Fedora Core installation screen"). When you arrive at the partitioning portion of the installation (Disk Partitioning) is where things get a little tricky. While auto-partitioning works, it requires either Linux partitions to remove or free space.

The Fedora Core installation screen
Figure 1. The Fedora Core installation screen

Depending on how you partitioned the disk earlier during installation, the default would have been to make Untitled 2 not free space, but another HFS+ partition. This means if you attempt to utilize the auto-partition option, it will fail. So, at the Disk Partitioning screen, choose Manually partition with Disk Druid; otherwise, go ahead, and choose the auto-partition option, and use up all the free space available.

If partitioning manually (and following the suggestions in the article), Figure 2, "Disk layout (before any changes)" will be what is visible. hda5 is the free partition that's HFS+ formatted. Just delete it, and get ready to create some partitions.

Disk layout (before any changes)
Figure 2. Disk layout (before any changes)

All Linux systems need to have at a minimum two partitions: / (for the root filesystem) and swap (which is usually double the available physical RAM). However, on an Apple system, you require another partition for yaboot, the bootloader, to be created as a Apple Bootstrap partition. This needs to be no larger than 1MB (in reality it should be 800KB), and its creation is depicted in Figure 3, "Create an Apple Bootstrap partition for the bootloader".

Create an Apple Bootstrap partition for the bootloader
Figure 3. Create an Apple Bootstrap partition for the bootloader

Simple partitioning will leave a 512MB swap space (if you have 256MB physical RAM) and fill up the remaining space with / (with a recommended layout in Figure 4, "Suggested partition layout"). Commit to the changes, let it format the necessary partitions, and continue on with the installation of Fedora Core.

Suggested partition layout
Figure 4. Suggested partition layout

Once the screen that mentions the installation is complete, you can click Reboot, and Fedora Core will be installed on your system! It will also be configured to dual-boot alongside Mac OS X (press ‘x' to boot); the default boot target will, however, be Fedora Core. Example 3, "yaboot options" depicts what is expected to be displayed on the screen. This is controlled in the /etc/yaboot.conf file, and the default timeout for choosing the default OS is five seconds.

First Stage Fedora Core Bootstrap

Press 	l for Fedora Core,
	x for MacOSX,
	c for CDROM,
	n for Network,
	o for OpenFirmware.
Example 3. yaboot options

Configuring your Mac mini

It's pleasing to know that most of everything "just works" with your Mac mini. In terms of networking and connectivity, the Mac mini supports three options: wired Ethernet, wireless Airport Extreme, and Bluetooth. Wired Ethernet gets automatically configured, either via DHCP or static IP, via the system-config-network tool. Airport Extreme, however, sports the Broadcom chipset, where open source drivers are non-existent at present (and there's no reason the believe that they will ever exist).

The built-in Bluetooth works via the bluez utilities, that are shipped in Fedora Core. It is exposed via /etc/init.d/bluetooth start and if using the GNOME Desktop, under System Tools, there exists the Bluetooth File Sharing and Bluetooth Manager. The former enables file sharing to happen via Bluetooth devices (like mobile phones, PDAs, etc.), and the latter detects the Bluetooth devices within proximity.

Sound works out of the box, since Fedora Core 4 Test 3, with a merged patch. However, it is known that output tends to be muted by default, and to get its levels up, the alsamixer utility needs to be run. alsamixer is depicted in Figure 5, "alsamixer, displaying a working soundcard configuration", and to move from each device, the left and right arrow keys are used. To enable, or disable an item, use the ‘M' key. Pressing Escape ensures that the settings get saved. Test sound by playing something simple, for example aplay /usr/share/system-config-soundcard/sound-sample.wav.

alsamixer, displaying a working soundcard configuration
Figure 5. alsamixer, displaying a working soundcard configuration

While the Mac mini doesn't ship with a mouse, if you have a one-button Apple mouse, you will surely miss the middle-click and the right-click buttons. These can, however, all be emulated from the keyboard via the sysctl interface. As root, edit the /etc/sysctl.conf file and add the following:

dev.mac_hid.mouse_button_emulation = 1

dev.mac_hid.mouse_button2_keycode = 87

dev.mac_hid.mouse_button3_keycode = 88

The above will allow the F11 and the F12 keys on the keyboard to provide the middle and right click mouse buttons. If however, you prefer to use Fn+Alt or Fn+Apple, just having the dev.mac_hid.mouse_button_emulation = 1 is sufficient. On your next reboot, the buttons will be available; however, running sysctl -p will also enable them immediately.

A pretty swanky mini box!

That's what the Mac mini is... tiny, aesthetically pleasing, and great with Linux. Save for the wireless, where a USB dongle might suit, everything pretty much works out of the box with Fedora Core 4 Test 3. Give it a go, and send us some feedback at fedora-ppc@lists.infradead.org. And remember, if you find bugs, Bugzilla it! Enjoy your Linux on Mac mini experience.

About the author

Colin Charles is a consultant, author, and student who's actively involved in the OpenOffice.org and Fedora projects. He has an affinity for Fedora/ppc. Besides tinkering with computers and other electronic gadgets, he has interests in bowling, cycling, chilling out, and watching movies.