Fedora Core on your Macintosh (Fedora PPC)

Why Fedora?

Because it's cool on your Macintosh! Many folk run Debian, some do Gentoo, Mandrake has a smattering of users, as does SuSE (payware). Yellow Dog Linux is the other popular alternative, but Fedora is definitely cool.

This document will constantly be changing I'm sure, so check back often...

Update (22/02/2005): Updated the fedora core 3 .repo file and added information about livna extras stuff.

Update (17/02/2005): New FC3 tree at ftp://ftp.uk.linux.org/pub/linux/fedora-ppc/fc3-ppc/ with boot.iso for G5, and the anaconda bug with the bmac Ethernet driver fixed. It also includes all the errata up to today. If you already have a local copy of the tree from fedoraproject.org, update it by rsync from rsync://ftp.uk.linux.org/ftp/pub/linux/fedora-ppc/fc3-ppc/

Update (15/02/2005): Mention Fedora Extras yum repo and how to install on a G5..

Update (08/01/2005): Added bits about dwmw2's repository for the new kernel where sleep works for iBook G4s and PowerBook G4s. Also, useful is fc3ppc.repo, which you can just place in /etc/yum.repos.d/.

Update (08/12/2004): We have now launched a Fedora Core 3 testing tree, with ISOs! We know it is hard to boot on G5 hardware, and the kernel doesn't include newer iBookG4/PowerMac sleep patches, but we'll work on a kernel that will have those patches available for an update soon. The important thing now is to test, test, test! Read the release announcement.

Update (14/08/2004): We have a new mailing list! Post to fedora-ppc@lists.infradead.org, and find out more list information at http://lists.infradead.org/mailman/listinfo/fedora-ppc.

Your Macintosh

I have several that I use to make sure Fedora works - an iBook 2.2 800MHz G3, an iMac DV SE+ 450, and a iBook 933MHz G4. Fedora is known to run on Powerbooks, as well as the newer Dual-G5s with no sweat.

Things that will not work on your Mac however include: Airport Extreme, and sleep on the newer iBook/Powerbook laptops. (Update: sleep works in the Rawhide kernel and will work in FC4. There are also FC3 kernels available with sleep support -- see below.)

Macintosh G5

The G5 is a 64-bit CPU, and not supported by the standard 32-bit kernel. However, the kernel which is intended for IBM pSeries machines is also suitable for use on the G5. You just need to persuade it to boot, which can be a problem because the image in images/pseries/boot.iso isn't appropriately 'blessed' in the way that Mac boot images need to be. We're working on getting a G5 boot image built as part of Rawhide, and may produce an image for FC3 too. In the meantime, you need to boot yaboot, which is on the 32-bit boot.iso, and somehow persuade it to load and run the 64-bit vmlinuz and ramdisk.image.gz from the ppc/chrp/ directory of the install tree.

However, there was a bug in the PPC64 kernel at the time FC3 was released, which prevents its kernel from booting on the G5. The current FC3 erratum kernel does work again, but that makes it a little more complicated to get a boot.iso for it, because we have to regenerate the rest of the install tree to match. If you have a G5, you may be better off installing rawhide.

Update: This is no longer true. The tree at ftp://ftp.uk.linux.org/pub/linux/fedora-ppc/fc3-ppc/ should work on the G5, as it is based on Fedora Core 3 including all the updates up to February 2005, and has a 64-bit boot.iso in its images/mac64/ directory.

Using Fedora Core 3

Keep in mind that the current tree is known not to have a boot.iso for the G5s. The tree is available at http://fedoraproject.org/fedorappc/FC-3/ and you need the items in the isos/ directory - the first four are binaries, while the remaining are SRPMS (sources). The os/ directory contains a full FedoraPPC tree as well. Installation works thru several methods:

Remember to test the tree well, and report any bugs to Bugzilla, under the powerpc platform. We do have a tracker bug: #121179, so add a bug as a blocker if you wish.

What you need to do

  1. If you're actively tracking Rawhide (which is the development tree of Fedora), and are a developer or a wanting tester, there's no point getting the bootable ISOs that are currentlyreleased. However, if installing directly from Rawhide, it is worthy to note that mirroring the entire PPC tree to a local disk might be preferred during the install - if Rawhide does a push, it and you're syncing then, it might break your install! http://download.fedora.redhat.com/pub/fedora/linux/core/development/ppc/ is where you go to - mirror this locally (you can skip the debug and SRPMS, for instance).
    A common command to rsync a tree would be: rsync -avP --delete --exclude=debug --exclude=SRPMS rsync://my.rsync.mirror .
  2. Burn the boot.iso file from images/mac (or images/mac64 depending on your machine.)
  3. If you want to dual-boot with OS X, make sure OS X is installed first, and you've left some free space for your install of Fedora. When you are installing OS X, click the Installer menu item, and go to the Disk Utility. I just split my 40GB disk into two, equally.
  4. Setting up an NFS share on the machine where you mirrored the Fedora development RPMs are what you need to do next. This is done fairly simply, and a useful guide is one by Daniel Owen, titled Howto install Fedora Core over NFS.
  5. Place the CDROM containing boot.iso into your Mac, then hold down the C key (so you boot from the CDROM drive).
  6. Type linux, as it's the only yaboot option, then the Fedora Core install starts. If the graphical install fails to start the X server, you might need to restart and type linux text at this stage instead. There are known problem with the graphical setup on iMac DVs and some other machines which cause this.
  7. You now need to find a driver for your NIC if the installer did not pick it up automatically - using the "sungem or BMAC" drivers generally work for eth0 (the wired Ethernet card), and then allow DHCP to provide network information (or provide it manually). To get the Airport working on machines that support it (like the iBook G3 or the older PowerBooks), you can use the "airport" modules (which load hermes and orinoco). Anaconda (the installer) has support for the input of an ESSID and a WEP key now as well.
  8. NFS Setup screen pops up, and you need the NFS server name and the Fedora Core directory - fill those in appropriately.
  9. Now, the Fedora Core installation actually starts - I choose a Workstation installation. This choice is up to you, of course.
  10. When it comes to disk partitioning, make sure you use Disk Druid - the autopartitioning doesn't add the Apple Bootstrap partition (but it works otherwise). I created about 18GB for /, using an ext3 filesystem, and a 512MB partition for swap. The Apple Bootstrap partition is of size 1MB only - make sure its the first partition, even before your OS X partition(s). The types marked "Foreign" are OS X partitions (in my case, Apple HFS+). If you're using FC3, take careful note to which partition / is, and which is the bootstrap -- you'll be needing this information later for yaboot.
  11. Network configuration is next, I've set it to use DHCP - this is also where you can add a hostname if required.
  12. Firewall setup comes next, then language support, and the timezone selection. Choose a root password, and let the install continue! (this entails a bit of waiting till the packages are all installed)
  13. If you're installing rawhide and you didn't have to boot with 'linux text' then your installation is complete. The installer will ask you to press the button to reboot -- do so, and your Mac should reboot into Fedora.
  14. If you had to use text mode, or if you're installing the FC3 tree, then you have a little bit more to do. First break out into a shell -- this can be done via Ctrl+Alt+Fn+F2. Then run 'chroot /mnt/sysimage'
  15. If you had to use a text install, then the X server will not be working after you reboot. Prevent the system from trying to start it by editing the file /etc/inittab file and changing the default runlevel to 3. You can do this by running 'nano /etc/inittab', and changing the line which reads 'id:5:initdefault' to read 'id:3:initdefault' instead. Alternatively, you might be able to install and use Xautoconfig (see below) or manually configure your X server -- but just turning it off for now is the easiest option, so you can play with configuring it properly on a live system.
  16. If you're installing the rawhide tree, you're done. Switch back (Alt-F1 or Alt-F7) to the screen which is asking you if it's OK to reboot, and say OK. Or just reboot.
  17. The FC3 installer doesn't know how to make the system bootable on Mac, so you need to do that for yourself. At this stage, you need to know which partition is your root file system, and which is the Apple Bootstrap partition. You can find the boot partition by using the parted utility; for example by running 'parted /dev/hda print'. Note the minor number of the partition with the boot flag set. You can also see which partition is the root file system by typing 'mount'.
  18. Using /dev/hda
    (parted) print
    Disk geometry for /dev/hda: 0.000-28615.781 megabytes
    Disk label type: mac
    Minor    Start       End     Filesystem  Name                  Flags
    1          0.000      0.031              Apple
    2          0.031      0.058              Macintosh
    3          0.059      0.085              Macintosh
    4          0.086      0.113              Macintosh
    5          0.113      0.140              Macintosh
    6          0.141      0.390              Macintosh
    7          0.391      0.640              Macintosh
    8          0.641      0.890              Patch Partition
    12         0.891      1.890  hfs         untitled              boot
    10       128.891   9270.792  hfs         Apple_HFS_Untitled_2
    9       9270.793  27847.781  ext3        untitled
    11     27847.781  28615.781  linux-swap  swap                  swap
    Table 1: An example of the output from parted.
  19. Then, run 'yabootconfig -r /dev/hda9 -b /dev/hda12 --kernel /boot/vmlinuz-* --initrd /boot/initrd-*', where -r is the root device, and -b is the boot device ON YOUR SYSTEM. The example in the table above would be /dev/hda9 and /dev/hda12 as shown here, but yours will probably be different.
  20. Thats it. Exit, and reboot! You should now be able to boot into Fedora Core.

Fiddling with yaboot

  1. You can now edit your /etc/yaboot.conf to add a few more "interesting" options:
  2. Don't forget to run ybin when you've made your changes!

Getting X to work

system-config-display doesn't quite work yet for the iBook G4s (but they work on the G3s and possibly lots of other video hardware). Yellow Dog Linux provides Xautoconfig, which is a mighty useful tool - Paul Nasrat has repackaged the .src.rpm, so all you have to do is rebuild it. (src.rpm / pre-built RPM). X works automatically after this tool is run.

Adding more interesting yum repositories

By default, you have to edit your /etc/yum.conf and make sure you're using [development], rather than base/updates-released/updates-testing. Otherwise, yum updates will not work - so only track the development tree.

David Woodhouse provides the Fedora Core Updates, so a relatively useful yum.conf should look like:

name=Fedora Core $releasever - Release Tree

name=FC3 PPC Updates

Keep in mind that the updates [fc3-updates-ppc] mean that you don't need to track Rawhide, if you've done the installation from the Fedoraproject site. This can provide a lot more stabler system for you, especially if you use your Mac often.

If you do wish to track Rawhide, something like this in your /etc/yum.conf will look about right (find your own local mirror though):

name=Fedora Core $releasever - Development Tree

There are also builds of Fedora Extras for PPC. The current status can be seen at http://peach.infradead.org/extras/, and build logs of failed packages are visible in case you feel like lending a hand. The binary packages are in another yum repository on ftp.uk.linux.org, but the noarch packages are not included -- you can get those from elsewhere. To include Fedora Extras, add something like this to your yum.conf:

name=Fedora Extras PPC Tree

name=Fedora Extras noarch packages

For Free World items (ala http://rpm.livna.org/), there are builds at:

name=Livna.org Fedora Compatible Packages (stable)

name=Livna.org Fedora Compatible Packages (unstable)

name=Livna.org Fedora Compatible Packages (testing)


Macs come with one mouse button, and Linux likes to have 3 mouse buttons. Editing /etc/sysctl.conf and adding dev/mac_hid/mouse_button_emulation=1 will fix this. Now pressing Fn+Alt on the keyboard will provide a right-click, and Fn+Apple key will provide a middle-click.


Sleep for the G4s

Linus' official kernel tree now supports sleep for iBook G4s as well as the Powerbooks. These are meant to work well, and are in the Rawhide kernel tree. David Woodhouse has been building FC3 kernels with the sleep patches included. You can use his kernels by adding the following to your /etc/yum.conf:
name=Fedora kernels for sleep


geekdocs | home - bytebot.net
$Id: fedorappc.html,v 1.14 2005/02/21 17:51:42 byte Exp $
Created: Sat May 15 03:19:38 EST 2004
Colin Charles <byte@aeon.com.my>, 1996-2004