By Jochen Voss, last updated 2012-02-18
This text describes the adventures I encountered while installing Linux
Apple Powerbook G4 (15″ version, 1.67GHz).
It seems that with Apple's numbering scheme the machine is a
PowerBook5,6. If you have questions or additional hints, feel
free to contact me.
The page was originally written in spring 2005, when the machine was new on the market. After a while I got bored by the many difficulties connected to running Linux on the machine and I switched to using MacOS X. Recently I reinstalled the current Debian/unstable distribution on the machine and was happy to notice that Linux support has significantly improved.
I was able to install Debian GNU/Linux on the machine. The laptop has the hardware configuration Apple introduced in February 2005.
|core components||MPC7447A CPU (1.67 GHz)|
Apple UniNorth 2 chipset
IDE hard disk
|graphics card||ATI RV350|
(Mobility Radeon 9600 M10)
(no 3D accel.)
|track pad||internal USB||works|
sometimes hangs a bit
|Ethernet Controller||Sun GEM||works perfectly|
|WLAN||Broadcom BCM4306 802.11b/g||works|
Table 1. This table summarises the hardware support for Post-February-2005 Apple powerbooks under Linux. A plus sign in the last column indicates that the component works out of the box, plus-minus indicates that it can be made to work by applying kernel patches etc. or that it partially works, and a minus indicates that I did not manage to make the component work at all.
Some information about my setup:
Nowadays Debian Linux can be installed on the machine from the usual installation media. Initially, when the machine was still very new, I followed the steps described at William R Sowerbutts' Linux on the Mac Mini page. I used the Debian Sarge installer RC2 netinstall image, and the basic installation worked without any trouble.
The Powerbook keyboard needs getting used to: there are no keys for page-up, page-down and the hash mark. Since I was unhappy with the provided key-bindings under Linux, I finally wrote my own ones, aiming for as much MacOS X compatibility as possible.
Originally the kernel produced key press events for the
thus allowing it to be bound in the X Window system. For some reason
(which I never understood) this feature was removed in later kernels.
The keymaps in the remaining part of this section are from the time
fn could still be bound in keymaps. Nowadays they will
probably be less useful:
Some notes about the key bindings:
commandin MacOS) act as meta keys. You can use
to cycle trough your windows and
etc. to switch virtual consoles.
optionin MacOS) acts as an
AltGrkey. You can use it together with other keys to produce all sorts of funny characters as in MacOS X: for the British keyboard
gives the hash mark
gives the German sharp esszet, and
gives the German
key, I just mapped the key to
. With this setting, you can teach, for example, the Gnome desktop environment to treat
as an eject key.
BlueTooth does not work out of the box. I do not own any bluetooth devices, so the following is unchecked. According to Johannes Berg's message to debian-powerpc the following error messages are related to bluetooth support. In the posting he also explains how to get bluetooth working.
... usb 2-1: new full speed USB device using ohci_hcd and address 2 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected usb 2-1: device descriptor read/64, error -71 usb 2-1: device descriptor read/64, error -71 usb 2-1: new full speed USB device using ohci_hcd and address 3 usb 2-1: device descriptor read/64, error -71 usb 2-1: device descriptor read/64, error -71 usb 2-2: new full speed USB device using ohci_hcd and address 4 ...
Error -71 above stands for
protocol error (
error -5 for
I/O error (
pdnsd: Caught signal 15. Exiting. pdnsd: Failed to open socket: Bad file descriptor. Status readback will be impossibleThe problem does not occur on a (otherwise similar) Intel machine.
xterm: fatal pty error 23 (errno=22) on tty /dev/pts/1
This is reported as Debian bug 229566 and can be worked around by using the following X resource settings:
xterm*eightBitInput: true xterm*metaSendsEscape: true
Copyright © 2012, Jochen Voss. All content on this website (including text, pictures, and any other original works), unless otherwise noted, is licensed under a Creative Commons Attribution-Share Alike 3.0 License.