Installing Fedora 11 on a MacBook

This guide will help you through all the steps necessary for installing Fedora 11 on a MacBook Santa Rosa. This guide is aimed at Fedora 11 x86_64 but will also work on i386 version (adjust as necessary). Most of the steps equally apply to pre-Santa Rosa models too.

These instructions are specific to the MacBook 3,1 (Late 2007) and newer but not the new aluminium MacBooks since they have different hardware (especially the graphics card). These instructions are not suitable for the MacBook Pro either!! That said, many of the steps here are common to all MacBook models and I have included a few tips for people with the Aluminum MacBooks.

This guide is based largely around my previous guides for Fedora 8 and Fedora 10. This guide is much shorter than the previous two guides and that can only be a good thing!

What works and what doesn’t?

There are a few things that need fixing (covered in detail below) but the following all work “out of the box” with Fedora 10: video/graphics, firewire, USB, CD/DVD reading and writing, suspend/hibernate, cpu speed control, fan control (including applesmc), volume function keys, sound, and ethernet. Even the new “plymouth” graphical boot screen works out of the box.

I have yet to try the infrared or connecting an external monitor but I suspect they work just fine. Everything else works with the tweaks described below.

Basic installation instructions

If you’re new to installing Linux then these steps should help you. If you’re an old hand then skip below to view the post-installation steps necessary to fix the things that don’t “just work”.

  1. Update the MacBook firmware to the latest version. If you prefer, you may use the standard “Software Update” in OS X.
  2. Get your Fedora 11 installation DVD ready. Note: you should use the x86_64 version of Fedora 11 and that I have only tested this using the Installation DVD, not the Live CD/DVD.
  3. Install rEFIt on OS X if you want a boot menu to select between OS X/Fedora to appear on every boot. This is highly recommended but optional – this guide assumes you have installed rEFIt. You can make Fedora boot by default and change the menu timeout by editing the “refit.conf” file (described on the rEFIt website).
  4. Use the OS X partition manager in Disk Utility to resize your OS X partition and make space for Fedora. On my 260GB hard drive, I shrank the OS X (hfs+) partition to 120GB to leave about 130GB free space for Fedora. Insert your Fedora 11 installation DVD in the drive and reboot.
  5. If you have rEFIt installed, then on boot you will be given the option to boot from the DVD, choose it. If you don’t have rEFIt installed, then hold down “C” to boot from the DVD.
  6. Install Fedora as usual, except:
    1. In the partitioner, select to manually edit partition table and create your new partitions in the free space you created above
    2. Create a 200MB ext3 boot partition with mountpoint ‘/boot’ (this will be /dev/sda3)
    3. Create a new ext4 partition with mountpoint ‘/’ – this will be your main Fedora partition on /dev/sda4. Make sure to leave 2GB free space after this partition for your swap partition
    4. With the remaining 2GB, create a linux swap partition – this will be /dev/sda5
  7. Finish the installation and reboot. Remove the DVD.
  8. If you installed rEFIt, you should have a choice between booting OS X and Linux. Use the arrow keys and Enter to select Linux.
  9. Log in to Fedora
  10. Follow the steps in the sections below to work around things that still do not work out-of-the-box in Fedora 11.

Post installation

Note: The wireless on the MacBook doesn’t work out of the box in Fedora, so you’re going to need an ethernet internet connection available until we get round to fixing the wireless later in this guide.

It is very important now to update your Fedora installation to the latest packages using yum. To do so:

su -
yum update

Once yum has finished updating, reboot, and then do a yum update again. Repeat this process until yum finds no more packages to update.

Fixing the wireless

The MacBook 4,1 comes with a Broadcom 4328 wireless chipset. This is not supported by default in Fedora 11 and there are two options to make it work: using ndiswrapper and Windows drivers or using the new official Broadcom STA wireless driver. In this guide we will use the official Broadcom driver because it is easier and more reliable.

1) Enable the rpmfusion non-free repository.

The broadcom-wl and wl-kmod RPMs that we need are in the rpmfusion.org non-free repository which also requires the rpmfusion.org free repository. To enable these repos in Fedora simply do this:

su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

2) Update and install the driver package

Now that you have the appropriate repository enabled, to install the driver package we first ensure that we have the latest updates and then install the “kmod-wl” package which will bring with it the required “broadcom-wl” package:

su -
yum update
yum install kmod-wl

That’s all there is to it. At this stage you may need to reboot in order to enable the new driver and any new kernel that was installed during the update. For more details or if you have any difficulties see this post.

When future kernels are released a simple “yum update” command should install the new kernel and also pull in the updated Broadcom driver for that new kernel.

Fixing the touchpad

Note, for aluminum MacBook users at the time of writing the touchpad does not work at all. There is a bug report here and it looks like a solution may come with a kernel update any time soon.

For everyone else, the touchpad works out of the box but just needs a few settings to make it work with two finger scrolling and two finger clicking. In Gnome, go to System -> Preferences -> Mouse and then select the Touchpad tab. Enable the option for two-finger scrolling. You may also want to enable the option to disable the touchpad while typing. You can now scroll with two fingers, right click by holding down two fingers and clicking, and middle click by holding down 3 fingers and clicking.

iSight camera

First of all, you will need a copy of the firmware from Apple. You can either download this here, or copy it from a Mac OS X partition. While the latter is usually preferred I can’t guarantee that the firmware distributed with your MacBook will be supported, so sometimes its easier just to download it.

To acquire the firmware, save the file AppleUSBVideoSupport to your home directory. Next, we need to convert the AppleUSBVideoSupport to a useable firmware file. The isight-firmware-tools will do this for us so we need to install that package:

su -c "yum install isight-firmware-tools"

Now, finally, we can convert the AppleUSBVideoSupport to a useable firmware file. From your home directory where you downloaded the AppleUSBVideoSupport file:

su -c "ift-extract --apple-driver AppleUSBVideoSupport"

Reboot and your webcam should be functional. Test it with Cheese, Ekiga, or Skype2. At the time of writing there is a bug in gstreamer which makes the webcam output all green, I have raised a bug report for it, feel free to add a “me too” and we’ll see if it gets fixed.

Bluetooth

Bluetooth works out of the box but due to some long standing kernel bug it needs to be enabled properly first.

Edit /etc/sysconfig/bluetooth and make sure it says ‘HID2HCI_ENABLE=true’.

That’ll fix it on subsequent reboots. For now, just run ‘/sbin/hid2hci’ as root.

Fixing the brightness keys

The brightness keys don’t work but I have found a work around that fixes them.

To fix, disable kernel mode setting (KMS) by adding the following to the kernel parameters in /etc/grub.conf after “rhgb quiet”:

nomodeset

And if you still want the graphical boot screen then add this also:

vga=0x318

While playing with these changes it is sensible to add a timeout value to grub.conf also so you can easily edit the boot config in case anything goes wrong…

So my grub.conf looks like this:

default=0
timeout=10
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.29.4-167.fc11.x86_64)
        root (hd0,2)
        kernel /vmlinuz-2.6.29.4-167.fc11.x86_64 ro root=UUID=9efa16ed-8e34-4e88-9d7e-253fd5f9b43c rhgb quiet nomodeset vga=0x318
        initrd /initrd-2.6.29.4-167.fc11.x86_64.img

Note, your kernel and initrd paths may look different depending on your partition setup and the UUID will definitely be different so don’t just copy and paste mine!! I am only showing the above so you can see where the “nomodeset vga=0×318″ should go. Basically put it right after “rhgb quiet” on the kernel line.

Reboot and your screen brightness keys should be working fine.

Video driver for newer MacBooks

This only applies to MacBooks with an nVidia video card: newer white versions and all aluminum versions. You can check the type of video card by doing “lspci” and looking for the video card details.

For those with an nVidia card you can install the official nVidia drivers which give better performance and full 3D support. First ensure you have the rpmfusion repositories installed as in the above wireless section, then:

su -c 'yum install kmod-nvidia'

Reboot and you should be using the nVidia drivers.

What next?

Now your MacBook hardware should be fully functional so it is time to get busy adding the software you want and tweaking the system to your needs.

This guide by Mauriat Miranda is a great place to look for details of how to install common media players, codecs and fonts.

For the native 64bit flash plugin see this thread.

Have fun!

23 thoughts on “Installing Fedora 11 on a MacBook

  1. Min

    Just Information. For the aluminum macbook, the iSight work out of the box (checked with cheese). The blue tooth also work out of the box IIRC…

  2. Pingback: jfahanda's status on Sunday, 14-Jun-09 20:14:12 UTC - Identi.ca

  3. Ricardo

    The instruction of wireless only worked on the third attempt.
    first : architeture 32bits, gnome + kde
    seconde : the same
    third: 64bits + kde (only)

    Itś works.

    aH. after install, itś need enter on partition tools of the rEFIt and update typing Y
    so restart and them the system enter…

    Sorry for bad english.

    []‘s

  4. Felipe

    I’ve been having a problem with Fedora 11, though i don’t with Ubuntu 9.04.

    I have two partitions for Leopard, one for my / and another for my home… (don’t like to sweep everything if I do a clean install)

    Thus, with Ubuntu I have don’t have a problem in crating a root partition, /home partition and a swap partition. Everything goes smoothly.

    HOwever with Fedora it does not work. Not even un a macbook 3.1 or a iMac with the i386 DVD.

    I’ve tried to reinstall without the /home and swap partition and it does not work. With the root partition in ext3 does not work either.

    Do you have any suggestions?

    Cheers

  5. Matt

    Thanks for the guide. It worked like a charm.

    This is the best my Macbook 4,1 hardware has worked under Linux!

    The only thing I needed to add was a suspend quirk for hal — otherwise my keyboard and touchpad were buggy after a suspend/resume.

    Thanks again for taking the time to put up a thorough and exceptionally clear set of instructionsl

  6. Pit

    Hi all,

    Is there a major change in the kernel or in the wireless driver since F10? I’m having issues connecting to my home WPA network. Actually it is the only network I can’t connect to, I don’t even see it in the NetMan list ! At university and with other networks, everything is fine. It worked also with Fedora 10.

    Should I wait for an update in the reps or downgrade the kernel and/or the driver ?

    Also, I’m not getting any update since days, which is a bit rare by Fedora. Do you ?

    Greets from Belgium, and congratulations for the clear tutorial !
    Pit

  7. UncleBob

    I had an issue connecting to my wireless network at home too, 802.11n.
    I’ve got a 2,1 macbook, so what I did to fix was upgrade the wireless drivers to the latest ‘n greatest, e.g.:
    http://wireless.kernel.org/download/compat-wireless-2.6/

    make sure you have the appropriate kernel-devel package for your kernel installed, then follow the README file in there to compile and install.

    That worked for me, for those with issues connecting to 802.11n networks.

    Cheers

  8. James B

    Hi Felipe,
    You need to have a ‘boot’ partition of about 200 meg with ext3 filesystem and fedora 11 as ext4. This is because Fedora cannot boot from a ext4 system yet. If you do this all should go well as above. If you want to install with ext3 you can only do this from the install dvd (as I understand it.

    I will be trying this on my macbook pro 13.3″. Thank you

  9. Pingback: 在macbook上安装各种操作系统 | Cyher.NET

  10. Hank-san

    Thanks for the clear and concise guide – it’s been a great help!

    Thought I’d mention that I found I had to completely shut down and then power up after configuring the iSight camera in order to reset its hardware state, rather than just rebooting.

    I noticed that the quality of sound coming from the internal speakers is rather poor compared with that of OS X. A little Googling revealed that this is due to MacBooks (or at least my particular MacBook, a 4,1) having three internal speakers, the third of which is not recognised by the system in Fedora, or as far as I can determine, any other GNU/Linux distro. Anyone have any idea how to fix this?

  11. Das

    I can’t get Fedora to restart, when I click restart, it goes out to the term saying Restarting but it just hangs…

  12. SAR

    I can’t get Fedora 11 to restart on the latest 13″ macbook pro and I added into grub.conf, reboot=pci’ but it doesn’t help…

  13. ymichalak

    hello ;-)

    For the new macbook white (Date release in May 27th, 2009 ; Number of the model : MC240LL/A ; See here http://fr.wikipedia.org/wiki/MacBook)

    Put this option of BOOT to install fedora11
    After the main menu rest on escape and to seize :

    linux acpi=off

    To avoid a black screen

    Yann michalak
    Collège Joseph-Anglade-Lézignan-Corbières-http://www.joseph-anglade.fr
    Cherche poste admin ou tech systèmes-C.V-http://yannmichalak.wordpress.com
    @+

  14. Lucian

    Hello,

    This with acpi=off help for install, but after that proces, there is no way to get grub on boot..it’s just freeze after you see cursor line.
    Is there any fix for that? I think I installed a lot of times without any good result, macbook 5.2

  15. Himanshu

    Hi Lucian,

    Were you finally able to boot F 11. I’ve the same version (5,2), and am facing the same problem.

    Thanks.

  16. Himanshu

    Hi Lucian,

    Did you get any fix for that problem. I have installed fedora 11 on my macbook 5.2 and am facing same problem.
    Please help.

    Thanks

Comments are closed.