Short guide to install Fedora 13 on the 2010 Mac Mini

version 0.5, August 7, 2010. Jurgen Kramer

 

Version history

 

The new Mac Mini (June 2010) with its Nvidia VPDAU capable GPU, HDMI port and small footprint makes it a nice, albeit expensive, candidate for a MythTV frontend. This short guide will list the steps I took to get Fedora 13 x86_64 installed on the mini and all the necessary devices working properly.

 

Disclaimer: Use this guide at your own risk!

 

 

Problems and bugs

 

There are several issues with the ALSA and SATA drivers which come with F13. I had to report several bugs to both Fedora and Nvidia to get everything working properly. As a result a upcoming 2.6.34 F13 kernel will have a workaround in place to get SATA working. Nvidia have acknowledged the problem with HDMI audio and are working on a fix. As of 28 July 2010 there is proper support in the ALSA daily driver snapshots and GIT. Kernel version 2.6.34.2 has this included.

 

My bug for HDMI audio: Nvidia user forums

Work in progress for a proper fix for ALSA: ALSA devel list

My fedora bug for mini's SATA problems: BZ #608034

 

A few caveats before starting

 

The kernel that comes with the Fedora 13 installer (2.6.33.3-85.fc13.x86_64) does not support the onboard network device (Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe) and has serious trouble with the onboard SATA controller (Nvidia MCP89 chipset) which results in no devices being found.

Support for the BCM57765 has been incorporated into the stock 2.6.34 kernel. A workaround to get SATA working with the generic SATA driver and forced DMA has made it into kernel-2.6.35-rc4. This will not provide maximum performance but will suffice for use as a MythTV frontend.

The SATA fix has been backported to a coming 2.6.34 kernel for F13.

Due to the internal HDD and DVD drive not being usable, I choose an alternate route to get F13 installed on the Mac Mini's internal HDD. It might not be the most efficient route but it works...

 

The current open source nvidia driver (nouveau) has issues with the onboard Geforce 320M Nvidia GPU. I could not get X to display a picture. I added 'nomodeset' to the grub bootloader lines before installing the binary nvidia driver.

 

 

Prepare the mini

 

I use rEFIt to dual boot OS X and Linux. Install rEFIt from OS X, make sure it is enabled at boot (see rEFIt manual). I created a spare partition for Fedora using diskutil included with Mac OS X. You can shrink the OS X partition with diskutil without losing any data. Make sure you have a backup before shrinking the OS X partition in case something goes wrong. I shrunk the OS X partition so I was left with 12G of free space for Fedora.

 

Prerequisites

 

I used an additional PC to get F13 x86_64 on the 2010 Mac Mini. The prerequisites are:

 

 

Installation

 

Connect the Mac mini with the PC via firewire. Boot the mini while holding 't' on the keyboard. The mini will enter target mode and act as a firewire HDD. Now boot the PC with the F13 x86_64 installation DVD and start the installer. Make sure the installer detected the connected mac mini as a firewire HDD.

 

When selecting the disk to install Fedora onto, enable only the firewire disk (the mac mini). Now proceed as you would normally when installing Fedora. Install the bootloader (GRUB) onto the bootsector of the first Fedora partition (in my case /dev/sda3), not the MBR.

 

After installation is complete reboot the mini and go into the rEFIt tools to sync the mini's GPT partition table with the newly created MBR. Fedora still does not do this automatically (Fedora BZ# 503149). Without syncing the partitions rEFIt cannot boot Fedora.

 

Update F13

 

Now it's time to update the Fedora 13 installation on the mini. Make sure the mini is in firewire HDD target mode and connected with the PC. Reboot the PC from the Fedora 13 installation DVD and select rescue mode. Make sure to enable network support and drop into the shell.

 

From the shell execute chroot /mnt/sysimage

You can now update the Fedora installation with yum update provided the host PC is properly connected to the Internet.

When the update is complete you can verify which kernel is installed, if it's 2.6.34.2 or higher your OK for both SATA and HDMI audio. If not, you will need to install a newer kernel from Fedora's koji.

 

As of writing (30 July 2010) the latest released kernel is: kernel-2.6.33.6-127.fc13.x86_64

With this kernel SATA devices and the onboard network card still won't work.

 

So grab a 2.6.34.2 kernel from koji and install it. I tested this with kernel-2.6.34.2-34.fc13.x86_64.rpm. These are prerelease Fedora kernels so there could be problems!

 

You can install the kernel and needed devel package directly from the terminal with:

 

rpm -Uvh http://kojipkgs.fedoraproject.org/packages/kernel/2.6.34.2/34.fc13/x86_64/kernel-2.6.34.2-34.fc13.x86_64.rpm

rpm -Uvh http://kojipkgs.fedoraproject.org/packages/kernel/2.6.34.2/34.fc13/x86_64/kernel-devel-2.6.34.2-34.fc13.x86_64.rpm

 

Now you should be able to boot Fedora on the mini. I had issues with the nouveau driver, so after rEFIt starts to boot Fedora press ESC or TAB a couple of times to get to the GRUB bootmenu. At the menu add 'nomodeset 3' to boot to the terminal.

 

Nvidia binary driver

 

After booting to level 3 you can install the Nvidia binary driver. As we're using a non-release kernel there is no pre-packaged nvidia-kmod available from rpmfusion. Use the latest driver you can find and run the nvidia install script to create a nvidia.ko kernel module for your 2.6.34 kernel.

 

HDMI audio

 

There were some problems with the mini's MCP89 chipset HDMI audio and ALSA release 1.0.23. Devices connected via the HDMI port were not properly detected. As a result audio over HDMI did not work (no problems with video when using the binary Nvidia driver). Nvidia acknowledged the problem and worked with the ALSA people on a proper fix. As of 28 July 2010 there is proper support in the ALSA daily driver snapshots. Kernel 2.6.34.2 now has this patch included.

 

These kernels are no longer needed and included as a reference only

 

Updated kernels with proper ALSA HDMI audio patch:

kernel-2.6.34.1-20.jk2.fc13.x86_64.rpm

kernel-devel-2.6.34.1-20.jk2.fc13.x86_64.rpm

kernel-headers-2.6.34.1-20.jk2.fc13.x86_64.rpm

 

Old versions (with ALSA HDMI workaround patch):

kernel-2.6.34.1-20.jk1.fc13.x86_64.rpm

kernel-devel-2.6.34.1-20.jk1.fc13.x86_64.rpm

kernel-headers-2.6.34.1-20.jk1.fc13.x86_64.rpm