Debian GNU/Linux on an iBook 2.2

Latest kernel .config: 2.6.4

Why Debian?

I used Mac OS X 10.2 on the iBook for about a week before realising that it was not for me; I felt more comfortable with Linux (which I've been using for years), and wanted to do some real work, so naturally Linux was meant to go onto it. My first inkling was with Yellow Dog Linux. It was in version 3.0, and had a really old version of my favourite mail client, Ximian Evolution; consequently, everything about it was dated, and I was really unhappy (this was circa middle-2003; YDL now can pull from Fedora Rawhide, so I may look at it again soon).

Debian seemed like a good choice. Tracking unstable, or sid as its affectionately known seemed like the best choice. It offered modern software, without compiling it from source (which would take ages), and its PowerPC version seemed to be just as good as the x86 version.

My iBook 2.2

Given the hostname hermione, it has a G3 based 800MHz processor, with 384MB of RAM and an ATI Radeon Mobility 7500 32MB video card. It's a standard iBook, with a CD-ROM drive, and all the usual bells and whistles that Apple throw in with it; it also has an Airport card. (Hermione's /proc/cpuinfo). I set it up such that 24GB of space would be reserved for Linux, with 512MB of disk reserved for swap space. The remainder space of about 4GB would be reserved for Mac OS X, in the event I need to use it (or get Mac-On-Linux to be demo'ed). (Hermione's fdisk output).  This was supposed to run SGI's XFS, but due to many issues with compiling it with a then-working kernel, it runs ext3 and I'm happy with it (this can change now that XFS will be part of the 2.6 kernel!).

How did it work

Everyone attempting to do this should read Branden Robinson's guide on Installing Debian GNU/Linux on iBook's. It might be old, but its still darned useful. I personally didn't go entirely with a net install - I burnt an ISO image for XFS support, and installed it that way. The install went well, and relied mainly on the network working - I made use of the Airport card so my install went wirelessly. All core things were installed with the assistance of tasksel, and I chose a GNOME based environment (gnome-core) to work in X.

Kernels

The standard pmac kernel didn't have interesting things like sleep working, as well as the interesting "hacks" like the blinking sleep light based on hard disk activity. So, this involved me getting the kernel-patch-benh package, and applying that to my stock 2.4.22 kernel (a kernel.org one). Benjamin Herrenschmidt's tree is one that you should follow if you're running Linux on a Mac. (hermione's .config file for a 2.4.22 kernel). To compile a kernel (and even get MOL working), Charles Twardy has a useful guide titled HOWTO: Mol, Debian, BenH kernel. I tend to:

make-kpkg --revision 09092003 --append-to-version -hermione --added-patches benh kernel_image modules_image

It then becomes super-easy to just do a dpkg -i and get the custom compiled kernel installed. It even takes care of Yaboot, by running ybin -i (so there is no need to do this manually). (Hermione's yaboot.conf taken from /etc/yaboot.conf)

The 2.6 line

Compiling kernel 2.6 was also a breeze, with make-kpkg. It merely involved execution of rsync - rsync -avz --delete source.mvista.com::linuxppc-2.5-benh linuxppc-2.5-benh/ and the kernel was being compiled in no time. (Hermione's .config file for a 2.6.2-ben1).

Getting 2.6 to run nowadays, you don't need to sync from BenH's sources. Getting a stock kernel from kernel.org will be enough. The modem in the iBook is the only hardware that will not work with 2.6 (the drivers are 2.4 based).

Video

Getting X going is always interesting, on any Debian-installed system. Michael Daenzer has the DRI drivers available, and they work wonderfully well with the Radeon Mobility M7 chip. Get it by adding to your /etc/apt/sources.list:

deb http://people.debian.org/~daenzer/dri-trunk-sid/ ./

Hermione's XF86Config was copied over from one created during the Yellow Dog Linux days - to get things just "right". Putting this in /etc/X11/XF86Config should work for all other iBook 2.2's as well.

Mouse

Mac's have mice that have one button. This works really badly when you're running Linux. Oh well, guess it was time to get some keyboard shortcuts working to get my right-click, and my middle mouse button working. Fn+Alt gives me a right-click, while Fn+Apple key gives me a middle-click. I got this by editing my /etc/sysctl.conf. (Hermione's sysctl.conf).

Modem

Seems that not many people make use of the modem, since 10/100 Ethernet works, as well as the Airport. But travelling on the road, sometimes, a modem is necessary. There's a 56k software modem built into the iBook. Linuxant sells these "supported" drivers for about USD$20. However, their beta versions were freely available on the Net, so I've stashed a copy here as well. It saved me $20.

The only caveat of using the hcfusbmodem drivers are that you must unload them from the kernel before placing your iBook into suspend mode. If it awakens, it goes thru a horrible kernel race condition that will just freeze your iBook up. Download a working beta of hcfusbmodem-0.99lnxtbeta03042703ppc.tar.gz, and follow the instructions (which are all very accurate). If you're running kernel 2.6, this will not work.

iBook keyboard buttons

The function keys F1-F5 are used by Apple to signify brightness controls, and volume control. The F12 key is reserved for ejecting the CD-ROM drive. Switching consoles took a while to get, as to get console 1, you've got to hit Alt+Fn+F1! To get these working, an application called pbbuttonsd comes in really handy (apt-get install pbbuttonsd). All keys do their job as expected with this. Another option is to have ikeyd around - I find my Eject button works a lot better with ikeyd running in the background.
gtkpbbuttons showing brightnessgtkpbbuttons showing brightness
Since I run GNOME as my desktop environment, I have another package called gtkpbbuttons that acts as a front-end to pbbuttonsd.

Resources


Last Updated: Mon Apr  5 02:13:23 EST 2004
Created: Tue Feb 3 18:44:24 EST 2004
Colin Charles <byte@aeon.com.my>, © 1996-2004