Fedora 16 vs. MacBook Pro or Air

Using x86_64 netinst image for F16. For Fedora 17, see update.


In general, macs require special hand-holding to get linux images to boot. This issue is longstanding and can be tracked in BZ 503149. Some of this hand-holding can be via OS X extensions like rEFIt, and some of this hand holding can be via the way the linux ISO is made into bootable removable media.

1) rEFIT

2) livecd-iso-to-disk –efi –format (NOTE: –efi may not work.)

3) hosted on a mac, download the image and have a USB stick. Then, using Disk Utility, format the usb stick as FAT and with GUID type partitions, Then open the terminal and clone the image to the USB stick via dd:

dd if=/path/to/Fedora-16-x86_64-netinst.iso of=/dev/rdisk1 bs=1m

then when that is done:

sudo diskutil unmountDisk /dev/disk1

Note that only some of the Fedora ISOs are efi-bootable. Try them all, see which one works! In general, live x86_64 images work better than DVD images, and often for the macs the netinstall iso is the best. For the netinstall image, you’ll need to have a correctly working network connection, under linux. Most likely this will require the wired, not wireless hardware support for mac models due to a sad proclivity towards Broadcom hardware on new mac models. So, for the MBA, you’ll need the USB ethernet dongle. Does anybody know what gig USB dongles work under Mac OS X and linux? (It’s not the linux side I’m worried about……)

For some mac models, the only real option is burning a dvd/cd-rom. No matter how a USB key is created, it won’t work. My advice is to start with a CD-ROM or DVD if at all possible. Of course, on the macbook air that requires additional hardware. So, attempt the USB key!


First, boot into OS X. Use the disk utility application to change your mac disk from one partition to two partitions, with the second partition of type “Free Space.”

Once you’re done with that, reboot. The mac should come up without issue.

Next, reboot with the Fedora media inserted into the mac. Hold down the option key until you see the EFI boot menu. Toggle over to the correct linux boot volume using the arrow keys and hit enter. It will probably appear as a USB harddrive named “Windows” in the EFI boot menu.

This should launch the Fedora installer.

Hit “e” on the keyboard to edit the installer options and get a menu. Then press tab when you get to the boot screen, and add “nomodeset” to the linux kernel boot arguments. Then boot it…….. this may take some time, and the screen may look super wonky at first. Just go with it, as the visual hallucinations will eventually stop.

Phew. The rest is easier.

Once you find yourself in the Fedora installer, continue to the disk formatting stage. At this point, you want to make sure to install on “Free Space Only.” Review created partitions for sanity, but the installer should get it right.

Continue with install. Once it is finished, reboot.

At this time, linux is installed correctly but not in a discoverable/usable state by EFI boot. So, you will not see linux as a boot option if you hold down the option key during a restart. That’s ok: just boot into mac OS X.


Install rEFIt on the mac. Enable rEFIt on the mac volume so that when you re-boot the mac, you get a rEFIt menu.

Once you see the rEFIt menu, select disk partition tool, and it will run and say that the partition map needs to be updated. Do so. (Note there may be other ways to do this, via the gptsync utility on linux.)

On next reboot, the linux volume will be visible in both the rEFIt menu and by holding down the option key at boot. It will either show up as a windows volume or a sassy linux penguin. Key over to it and boot it.

It should boot and then it’s just like any other linux install. Go crazy.

Once you get to this stage, rEFIt may be disabled on the mac volume (optional).

Non-specific to F16 notes.

1) Using nvidia drivers, just enable RPMFusion and install kmod-nvidia. Run nvidia-xconfig, nvidia-settings, and blacklist nouveau in boot/grub/grub.conf.

2) How does one get the classic GNOME option??

From Bill Nottingham:

$ gsettings set org.gnome.desktop.session session-name gnome-fallback

(It’s also a checkbox in the ‘Graphics’ section of the System Info control panel.)

3) cups is there, but not activated so the system-settings->printing config won’t work. See BZ 744078.

However, if you do:

service cups start

Then bring up localhost:631 in a browser one can config printing as per the usual CUPS web-ui. In general, I am having a lot of problems with high-resolution printing on Fedora after Fedora 14. See BZ 719390. What used to work (installing the high-quality foomatic ppds) is clipping pages and only producing inferior draft output. Boo.

4) How to get broadcom wireless cards to work.

About sunglint

6 Responses to Fedora 16 vs. MacBook Pro or Air

  1. Jim says:

    For the nvidia drivers you are better off installing the akmod in place of the kmod. It avoids any problems with kernel updates. Sometimes the matching kmod doesn’t appear with the new kernel. Akmod will build it when that happens.

  2. M Dillon says:

    Where did you install the bootloader? When I boot up and choose the linux entry in refit, I am presented with a grub menu, but it will not load any further.

    • sunglint says:

      This is what `fdisk -l /dev/sda` looks like:

      Disk /dev/sda: 250.1 GB, 250059350016 bytes
      255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk identifier: 0x00000000

      Device Boot Start End Blocks Id System
      /dev/sda1 1 409639 204819+ ee GPT
      /dev/sda2 409640 244608223 122099292 af HFS / HFS+
      /dev/sda3 244609024 244611071 1024 c0 Unknown
      /dev/sda4 * 244611072 245635071 512000 83 Linux

    • sunglint says:

      no special place for the bootloader, whatever was the default. Expect this to be /dev/sda from output quoted previously

  3. Pingback: Fedora 17 Notes « sunglint

%d bloggers like this: