PPC/FAQ

The Gentoo/PPC FAQ is a collection of questions and answers collected from the Gentoo/PPC mailing lists and from Internet Relay Chat (IRC).

Introduction to the Gentoo/PPC FAQ
This FAQ is a collection of questions and answers collected from the Gentoo/PPC mailing lists and from IRC. To ask more questions (or provide answers!), please contact either an author or a member of the documentation team. The tab near the top of this article can also be used for questions, however a Gentoo wiki account will be required.

What kind of PowerPC computer do I have and where can I find more information about it?
Welcome to Gentoo PPC! The PowerPC processor has been used in a number of popular computing devices, here are some links to help you figure out what type of hardware is in the machine on your desk.


 * Apple Product Pages


 * Apple Product History and Details


 * Genesi Model Information


 * IBM Documentation by Model


 * KuroBox


 * PenguinPPC - Linux on PowerPC Information

How can I verify with OSX that the downloaded ISO is not corrupted?
First be sure you did not mount the ftp server with Finder and then copy the file with drag'n'drop. This will corrupt the ISO. Instead, use curl (with curl -O http://path/to/iso).

You can check your MD5 sum using the md5sum tool provided with OSX. On versions of OSX without md5sum, you can use openssl capability to produce an md5 checksum.

Now compare this output with the appropriate file found on the server where you downloaded the ISO (the file will end with ). If it is the same, the ISO image downloaded correctly. Be sure you have not mounted it (e.g. with Disk Copy) yet!

Can I dual-boot Gentoo Linux and Mac OS X?
Yes you can! In fact, yabootconfig will automatically detect and setup with Linux, Mac OS X and even classic Mac OS (see the PPC Gentoo Handbook for details on yabootconfig). The trick is in how you partition your hard drive. Before installing Gentoo, startup with the Mac OS X Install CD. Use the Disk Utility to partition the drive in your machine into two or three partitions. Alternatively, use parted from a recent Gentoo InstallCD, since that has been patched to handle HFS and HFS+ partitions. Parted is also able to shrink a partition so you don't need to delete your existing install. The first partition should be big enough to contain all your Linux partitions (root+swap+/home etc.). The format of this partition does not matter. The second partition should be for OS X. The third (and optional) partition should be for classic Mac OS. It is only required if you intend of being able to triple boot, since OS9 must be on a separate partition from OSX for this to work.

After partitioning, install Mac OS X and Mac OS 9 onto their respective partitions. Once installation is complete, start following the PPC Gentoo Handbook. When you get to the section on partitioning, use mac-fdisk to delete the large partition you created for Gentoo. In its place, create a bootstrap partition, root, swap, and any other partitions you wish to use with Gentoo.

If you have an OldWorld Macintosh (pre-iMac), follow a similar procedure as described above. However, use the Mac OS 9 install CD and the Drive Setup</tt> utility. OldWorld machines do not need a bootstrap partition.

I have an early NewWorld Mac such as the Blue and White G3. It should be compatible with the InstallCD, but on boot it returns an "Unknown or corrupt filesystem" error.
As a workaround, boot into Open Firmware by holding down the +++ keys on startup. When the prompt appears, type:

The CD should boot as expected now, thanks to John Plesmid for this workaround.

I have an OldWorld Macintosh and need to use BootX. However, I am having trouble opening the BootX installer archive. What can I do?
You will need a new version of StuffIt Expander to open the archive. You can download it for free.

I have a Beige G3 machine. Can I install Gentoo Linux/PPC on a second IDE hard drive?
Early Beige G3 machines (those with a "Rev 1" motherboard with an ATI RageII+ chip) do not support slave IDE drives. To use a second hard drive with this machine, you would have to attach it to the internal or external SCSI connector or install a PCI IDE card. Later G3 machines do not have this limitation. See http://www.xlr8yourmac.com/G3-ZONE/IDE/index.html for more information.

I have a revision A or B iMac. I've replaced the hard drive with a larger one and now I can't boot into anything!
There is an 8GB limit for the root partition on these machines. Ensure that your root partition is less than 8GB and it should work as expected. This also applies to OS X and later versions of OS 9.

My /etc/fstab file has /dev/BOOT in it. Do I need to setup this line for my Apple bootstrap partition?
Maybe. If you are not using a separate boot partition then you do not need this line and can safely just delete it from  The Apple bootstrap partition is not  and is not related in any way.

If you are using a partition type that's not natively supported by the bootloader (such as ext4 and yaboot), you will need to use a separate boot partition. In this case, you will want to specify in.

When I rebooted, yaboot didn't work! Now, I'm stuck. How can I fix this?
It is probably just a misconfigured The easiest way to fix this is to boot the InstallCD again, mount the Gentoo partition and check  for errors. You'll also need to run ybin -v -C /mnt/gentoo/etc/yaboot.conf</tt> to update the boot loader once you have finished. This can all be done without chrooting back into your install.

When I try to boot, yaboot only says "read error"! Why can't I boot?
You're probably using XFS for the root partition. While this is an option, yaboot has some issues accessing files with holes. To ensure that your kernel will boot, instead of copying the file to, simply cat</tt> the kernel as shown below.

I installed an OSX update and now my computer only boots into OSX! How can I fix it?
Hold down the option key on boot. This will bring you to a graphical boot device selector. Wait until a hard drive with a penguin shows up and click on the icon. This will boot Linux install as usual. Once you've booted, rerun ybin -v</tt> to fix the bootloader.

I want to set the hardware clock from Open Firmware, is that possible?
To set the clock boot into Open Firmware (using the key combination of ++). Once you are at the Open Firmware prompt, you can set the clock using the command below:

Open Firmware will return with an ok after the clock is set. Type mac-boot</tt> to continue booting after the clock is set.

I have a NuBus (pre-PCI) Power Macintosh or Powerbook. Can I run Gentoo on it?
Official Linux support for NuBus PPC Macintoshs has been dropped starting with Kernel 2.6, so an Installation of Gentoo Linux is actually not possible. You might try the kernel sources provided by the PPC/Linux for NuBus Power Macs Project and combine them with the official Gentoo PPC32 stage archive. Share your experiences with the Gentoo community.

I have an even older Powerbook or a Macintosh Quadra/Macintosh II/Performa/LC equipped with a Motorola (m68k) CPU. What about that?
This FAQ is actually about Gentoo on PPC computers. But before a proper guide about Gentoo on m68k will be written, have a look at the Linux/mac68k Project, the The Linux/m68k Home Pages (somewhat dated), and the information given for Gentoo on the ARAnyM m68k hardware emulator and compare them to the official Gentoo Linux PPC Handbook to figure out how an installation of Gentoo Linux on m68k machines could be done.

I'm running Gentoo on a PowerPC laptop. What packages should I install to enable laptop-specific functionality?
There are four main packages you will need to install.


 * pbbuttonsd is a tool that enables the brightness and volume keys on most PPC laptops as well as other Apple specific functionality. The current versions also work as a power manager and replaces pmud</tt>.


 * powerprefs provides a graphical configuration editing tool for configuring pbbuttonsd including settings such as power-management, trackpad options and various other preferences.


 * powernowd allows CPU speed scaling for longer battery life. Other packages also provide the same functionality, such as cpudyn, cpufreqd, and speedfreq. It doesn't really matter which you chose, just ensure that you have the userspace CPU frequency scaling governor enabled in the kernel. This is the only governor that will work on PPC.

These packages can be installed by running the appropriate commands from the list below:

It is useful to add pbbuttonsd and powernowd to your boot runlevel so that they're started when your computer starts. To do this:

I only have one mouse-button. How can I make use of the second and third one, since the Ctrl key does not work?
There is no way to use the key like on Mac OS X, but you can map just about any key or combination of keys to emulate the second and third mouse-button. The values can be obtained with the command line utility showkey</tt> from the console. Note that this program does not work as expected from X and should only be run from the console. To use this feature, enable the following options in your kernel:

You will also need to set the keyboard to mouse button mapping values in Here is an example using the  and  keys:

To activate these settings:

Apple Powerbooks and iBooks that use the Appletouch driver, can alternatively configure multi-finger tapping to allow 2nd and 3rd button control. See the documentation for this driver for configuration options.

How can I configure my Airport card?
The Airport card is an 802.11b device based on the Lucent Orinoco chipset. To use this card in Linux, enable these kernel options:

Once the kernel is configured, you'll also need some userland tools to configure the wireless settings. Emerge the for iwconfig</tt> and other wireless tools.

As an example of using iwconfig</tt>, to set your ESSID to home_essid:

For a generic guide to setting up wireless with Gentoo, please see the Wireless guide in the PPC Handbook.

How can I configure my Airport Extreme card?
The Airport Extreme is an 802.11b/g card that is included with modern Apple portable computers. It is based on the Broadcom 43xx chipset which is supported by the native b43 driver project. It has been included in the 2.6.24 kernel. Note that the driver should select the proper driver between b43 and b43-legacy. The firmware used for these two drivers is different, with the legacy version supporting older 4306 cards. If you have a 4306 card, build both, otherwise, it should be safe to only build b43. To enable either driver, mac80211 must be selected first.

After compiling your kernel, you'll need to emerge to install the firmware and get a copy of the firmware. The instructions for this are found at: linuxwireless.org, and follow the directions for extracting the firmware.

For a generic guide to setting up wireless with Gentoo, please see the Wireless guide in the PPC Handbook.

Will the internal modem work?
On older Macs, the internal modem is a regular serial device. In addition to ppp support and i2c support, enable this kernel option to use it:

Newer Macs use a USB device which only has a driver from Linuxant. Unless you have purchased a key from Linuxant, this driver will only work at 14.4 and will not support FAX. To install the driver, emerge  which will provide. Then set up ppp like usual. Further information about the installation can be found at http://www.linuxant.com/drivers/hcf/install.html

Does sleep work on my iBook/PowerBook?
Sleep used to work well with the User Mode Setting kernel drivers, but modern X servers using KMS do not sleep properly at this time.

How do I get sound playback working?
There are two approaches to sound on modern kernels: OSS or ALSA. OSS is the older of the two options and has been deprecated, but still functions well for many older Macs. ALSA is the newer method and will continue to be supported in the future. We recommend that you use ALSA unless you have problems with it.

In addition to configuring the kernel, users who should have access to the audio devices need to be added to the appropriate group with the gpasswd</tt> command:

If the kernel is set up correctly, but you can't hear any sound, ensure that the main mixer volume is turned up and that the device is not muted!

Sound setup with ALSA
For ALSA, we'll set up both the regular ALSA drivers and the OSS emulation layer so that we can still use legacy OSS only programs. In make menuconfig</tt> you'll need to select:

Depending on the age of the machine, the correct sound driver should also be enabled. On more modern machines such as Aluminum PowerBooks, new iBooks or G5's the  driver should be used. For older machines, try the ALSA PowerMac driver instead.

You can also configure these as modules and ensure they're loaded on boot, but it's easier to simply compile it all in.

For more information on configuring ALSA, please see the [[ALSA|ALSA article}].

Sound setup with OSS
In make menuconfig</tt> you'll need to select:

Or configure as modules and ensure they're loaded on boot.

If the  module does not load, you probably need to enable   in the kernel or as a module.

How do I make my Mac power up after a power failure?
The Power Management Unit (PMU) in most Macs has the ability to turn the Mac on again after a power loss. This feature is controlled by the PMU options found in. To enable this feature, set  to 1, to disable it, set   to 0.

Unfortunately, this setting is turned off again after the machine restarts. To ensure that your system always starts with power on after power failure enabled, add the line above to

I see lots of "IN from bad port" errors in my kernel dmesg, how do I fix that?
This is caused by drivers written for devices that you don't have on your system. These messages are usually harmless, but it's a good idea to disable the unused drivers anyway. See below to match up port numbers with kernel configuration options. Note that even if the numbers don't match, try disabling these kernel options anyway, most PPC machines don't use these drivers.

If you have another IN from bad port message that you're not sure about, please let us know!

I can't emerge a package, and get an error about it being masked. What should I do?
There are two common reasons why a package will not emerge: either it hasn't been tested on PPC or it has been tested, but hasn't yet been marked stable.

If your package has not yet been tested on PPC, you will need to first mark the ebuild with the keyword. This is done using the ekeyword</tt> tool which is part of the package. Mark the ebuild and regenerate the manifest file so that it reflects the changes:

Once the ebuild has been keyworded, you can now emerge it as usual. Test the application and if it works, please report it as a bug so one of the developers can add the keyword.

If your package already has the keyword, you have two options. Either follow the above instructions and replace the keyword with, or you can use  to unmask the specific package. The second option is preferred simply because it will not be undone by an emerge --sync</tt>.

Now emerge</tt> the package as normal. Once you're sure the application is stable, please report this as a bug so the developers can add the keyword.

Does Gentoo/PPC have support for Adobe Flash?
Well, not really. Macromedia has not supplied a Linux/PPC binary and open source implementations are incomplete at this time. However, there are two projects that can play many flash objects, gnash and swfdec. Both are capable of playing back YouTube movies and lots of other popular content.

Does Gentoo/PPC have a Java plugin?
Yes, a Java plugin is now available with IBM's Java 1.5 and 1.6. Note that not all Java applications work with these Java versions yet.

What is required for DRM?
When emerging, make sure the  USE flag is enabled. You should also set the  variable in  with your video card, VIDEO_CARDS="radeon" for Radeon support, VIDEO_CARDS="nouveau" for Nvidia support and so on. For a backup option, add  to the list of , this driver should always work.

Make sure in the kernel configuration the following options are set:

I've installed X.org and configured it correctly, but the radeon or nouveau driver is missing. What's wrong?
Add the appropriate  line to  and recompile  and  to build the drivers.

I have a VBIOS or "Invalid I/O allocation" error in my xorg.log. Is this a problem?
No, this is simply X.org probing your video card. It attempts to open the x86 only video BIOS and fails, leaving one of these messages. It's harmless, don't worry about it!

When using OpenGL DRI or playing movies, the system sometimes freezes hard unexpectedly. What can I do?
Your system may not cope properly with AGP support. The easiest solution is to add the following line to the "Device" section of

If you are still having trouble, please try disabling dri in the to see if the problems go away.

=== I recently emerged Xorg, but when using it, my international keyboard layout does not work correctly. The main keys work fine but I am unable to compose special characters like the "at" sign. The startx output says something like "could not load keymap, falling back to default keymap". What is wrong? ===

Check that the permissions on are set to. If not, change them by typing chmod a+rwx /var/tmp</tt>. This will allow Xorg to load keymaps properly again.

How do I play Audio CDs?
NewWorld machines have no audio connection between their CD-ROM drive and their sound hardware. Therefore, audio information must be read as data and then piped to the sound hardware. This is possible using Audacious, which reads the audio off the CD over the ATA cable, decodes it in software and sends it to the sound card over the PCI bus as digital data.

To play a CD, just fire up <tt>audacious</tt>. If you're having playback trouble, you may need to open up the   menu and select the CD drive. Make sure is checked.

Can I access my ext2/ext3 partitions from OSX?
OSX can support the reading and writing of ext2/ext3 partitions by using the kernel extension provided by the ext2fsx project.

Which Portage USE flags do not work on PowerPC machines?
If you're using an old flat profile, (deprecated, pre 2005.0) look at for a list.

If you're using a cascaded profile, (2005.0 and onwards) look at for a list.

How can I set up distcc with my x86 box?
If you've got another faster computer, you can set up distcc to compile binaries for your slower PPC processor. It is better to do as much building as possible on the faster machine; if possible, do not build on the slower computer. Read the DistCC Cross-compiling article to learn how. You may also want to read the Gentoo Embedded Handbook to learn more about cross-compiling.

Can I buy a CD of Gentoo Linux/PPC?
Unfortunately not. Currently, the stores listed on the Stores offering Gentoo products only offer media with Gentoo for the x86 and x86-64 (Intel 32-bit and 64-bit) platforms.

This FAQ hasn't answered my question. What do I do now?
A good first step is to browse through the relevant PPC documentation here on the Wiki and on Gentoo.org. Two PPC-specific mailing lists currently exist, gentoo-ppc-dev and gentoo-ppc-user. Gentoo on PPC (on forums.gentoo.org) is an open bulletin-board for discussion of all PowerPC issues. Also, there is usually a lively discussion on IRC. Join us on  on

General information about Linux on PowerPC can be found at penguinppc.org General Linux information is at www.linuxdoc.org