Debian GNU/Linux on an iBook 2.2
Latest kernel .config: 2.6.4
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.
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
(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
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
involved execution of rsync - rsync -avz --delete
source.mvista.com::linuxppc-2.5-benh linuxppc-2.5-benh/ and the
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).
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
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
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).
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
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
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.
Since I run GNOME as my desktop environment, I have another package
called gtkpbbuttons that acts as a front-end to pbbuttonsd.
Updated: Mon Apr 5 02:13:23 EST 2004
Created: Tue Feb 3 18:44:24 EST 2004
Colin Charles <firstname.lastname@example.org>,