PPC/FAQ

The Gentoo/PPC FAQ is a collection of questions and answers collected from the Gentoo/PPC mailing lists and from 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. If you have any questions (or answers!), please contact either an author or a member of the documentation team.

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  (with  ).

You can check your MD5 sum using the  tool provided with OSX. On versions of OSX without md5sum, you can use  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 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  to partition the drive in your machine into two or three partitions. Alternatively, use  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 Gentoo Handbook. When you get to the section on partitioning, use  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  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 Apple + Option + O + F 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 your fstab.

When I rebooted, yaboot didn't work! Now, I'm stuck. How can I fix this?
It's probably just a misconfigured yaboot.conf. The easiest way to fix this is to boot the InstallCD again, mount your gentoo partition and check yaboot.conf for errors. You'll also need to run  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 your 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 vmlinux file to /boot, simply  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 your linux install as usual. Once you've booted, rerun  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 Apple + O + F). Once you are at the Open Firmware prompt, you can set the clock using the command below:

Setting the clock at the open firmware prompt

Open Firmware will return with an ok after the clock is set. Type  to continue booting after the clock is set.

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 laptop specific functionality. The current versions also work as a power manager and replaces pmud.


 * 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 your 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 ctrl-button does not work?
There is no way to use ctrl-button 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  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 F11 and F12:

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 and other wireless tools.

As an example of using iwconfig, to set your ESSID to home_essid:

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

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 Gentoo Wireless Guide.

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 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 isn't 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  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 article on the Gentoo Wiki.

Sound setup with OSS
In  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.

The Package Hasn't Been Tested on PPC

If your package hasn't yet been tested on PPC, you'll need to first mark the ebuild with the ppc keyword. This is done using the ekeyword tool which is part of the  package. To mark the ebuild ppc 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.

The Package Hasn't Been Marked Stable on PPC

If your package already has the ~ppc keyword, you have two options. Either follow the above instructions and replace the ~ppc keyword with ppc, or you can use /etc/portage to unmask the specific package. The second option is preferred simply because it won't be undone by an emerge sync.

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

Does Gentoo/PPC have support for 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 xorg-server, make sure the dri use flag is enabled. You should also set the VIDEO_CARDS variable in make.conf with your video card, VIDEO_CARDS="radeon" for radeon support, VIDEO_CARDS="nouveau" for nvidia support and so on. For a backup option, add fbdev to the list of VIDEO_CARDS, this driver should always work.

Make sure in your kernel config you have the following options set:

I've installed X.org and configured it correctly, but the radeon or nouveau driver is missing. What's wrong?
Add the appropriate VIDEO_CARDS 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 your xorg.conf 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. 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. If you're having playback trouble, you may need to open up the Preferences-->Plugins-->CD Audio Plugin menu and select your CD drive. Make sure that "Digital audio extraction" 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's better to do as much building as possible on the faster machine; if possible, don't even build on the slower computer. Read the DistCC Cross-compiling Guide 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?
Yes! We sell Gentoo on CD-ROM in our Gentoo store.

This FAQ hasn't answered my question. What do I do now?
A good first step is to browse through the relevant documentation on www.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.

Acknowledgements
We would like to thank the following authors and editors for their contributions to this guide:


 * Rajiv Manglani
 * Lars Weiler
 * Jochen Maes
 * Joseph Jezak
 * nightmorph