Debian on a TiBook
Apple hardware is awesome. (Apple as a whole is pretty cool, but I don't really get along with their OS.) Though I've never had a Mac before, a friend at Apple got me a Titanium Powerbook G4 (400MHz model) at a good price.
I installed Debian on my TiBook. It wasn't very hard, actually, but the information you can find around on the internet is confusing because problems people have are often fixed in later releases, while their posts to mailing lists live on forever. The same can be said for this document; it's likely some of this is already out of date.
With that said, Branden Robinson's guide [local mirror] is almost everything you need (though the directions are for an iBook, they worked for me all the way down to the partition numbers he used in his example). To boot from a CD on your TiBook, hold down "C" while booting. To eject a CD, hold down the mouse button while booting. When installing OS X on the secondary partition, make sure to check the "initalize" box in the installer—- it wouldn't boot OS X for me otherwise.
For me, the installer got into an infinite loop at one point. There are mentions on mailing lists about switching to a virtual console and copying a file (look around if you encounter it) but what I did was use my virtual console to kill the installer and then set the rest up myself (it was near the end).
Branden's guide is the basic setup of Debian, and at the end promises more information. I managed to figure everything else out, so I'm collecting it here.
You need to use BenH's kernel. Everyone else uses it, and the official Linux kernels reportedly won't even build out of the box.
If you're lazy, you can grab mine (last updated 2002-Nov-01): kernel-image-2.4.20-pre9-ben0_reiserfs.1_powerpc.deb. Warning: ethernet and airport are modules here, so if your keyboard messes up you can't ssh in.
Otherwise, grab the source:
mkdir /usr/src/benh_kernel rsync -avz rsync.penguinppc.org::linux-2.4-benh \ /usr/src/benh_kernel
Here are the important things to know. I only list options that I think (I'm not sure about any of this) you want to set ON; you can add and remove others as you please (where certain options broke the compile I've tried to document it). I assume you are familiar with Linux on an x86 machine and know how to configure TCP/IP and the like yourself:
2002-sep-05 I recently rebuilt the kernel. I've tried to include the new information.
(6xx/7xx/74xx/8260) Processor Type
(CHRP/PowerMac/PReP) Machine Type
Thermal Management Support
- General setup
Support for Open Firmware device tree in /proc
Support for early boot text console (BootX or OpenFirmware only)
- IDE, ATA...
These machines are IDE. You want DISK support, CDROM support, etc. Burning CDs (at least on x86) requires SCSI emulation support (note that I haven't ever burned a CD on my machine, so this information isn't too useful). You can set all of the generic PCI settings (Use PCI DMA by default when available, etc) and then check off Builtin PowerMac IDE support and its child options down at the bottom.
Network device\\ You ought to pick GMAC (G4/iBook ethernet) support under 100mbit cards.
Support for frame buffer devices (EXPERIMENTAL)
Open Firmware frame buffer device support
ATI Rage128 display support (EXPERIMENTAL)
Input core support
Basically, all of the options that apply. Remember that your screen is 1152x768.
Macintosh device drivers
Support for PMU based PowerMacs
Power management support for PowerBooks
APM emulation(but this is probably unnecessary unless you have APM-using software; many programs have been updated to use pmud)
Backlight control for LCD screens
Include MacIO (CHRP) ADB driver
Use input layer for ADB devices
- Don't pick the raw keycodes option; Debian doesn't support it.
Support for mouse button 2+3 emulation
This one is important. System won't compile without it, I think?
- You may need Bus Mouse support (I saw it somewhere), though I doubt it.
- If you turn on Enhanced Real Time Clock Support, your machine will lock while booting.
/dev/agpgart (AGP Support)
Apple UniNorth support
- I've heard rumors that DRI can work, but I didn't have any luck making it compile.
- There's a note in
/dev/nvram supportmust not be "m" or "n"— sound requires this module (I believe it's for saving/restoring the mixer settings) so you should pick "y".
Sound card supportand
PowerMac DMAsound support are all you need, but see the note above about
Your Mac uses OHCI. You may need the full HID support and input layer support but I think the ADB options above make the keyboard and trackpad work.
If you use
make-kpkg (you are a Debian user, right?) it should install fine. Look at
/etc/yaboot.conf (it resembles
lilo.conf) and run
ybin just like running
lilo if you move any kernels around.
Now, the tricky part of all of this is that the install breakage (I assume) and the new kernel conspired against me to make the keyboard fail when I rebooted with the new kernel. So make sure the network works before you reboot, or you won't be able to shut it down properly because you can't type! If you have the keyboard problem (keys you type produce different keys on the screen), ssh in and look in
/usr/share/keymaps/mac/. Try using
mac-us-std.kmap.gz and see if that fixes the keyboard. Also, look in
us.kmap.gz. You can use
install-keymap to finalize the change; it basically changes a file in
I fought with this for a long time. Eventually, I got things to work beautifully. You can look at my stripped-down XF86Config-4 and adjust yours accordingly; the
ModeLine was key to getting the right video mode.
Remember to edit
/etc/X11/xinit/xserverrc to fix the fonts to 75 dpi!
Look around in
/proc/pmu. Try unplugging the wall power and see how the "files" change. Cool, eh?
apt-get install pmud. Watch it install. Everything seems to work automagically.
/etc/modutils/sound, with these contents:
# sound modules (ibook2) alias char-major-14 soundcore alias sound-slot-0 dmasound_pmac alias char-major-14-3 dmasound_pmac alias /dev/dsp dmasound_pmac alias sound-service-0-0 i2c-keywest alias char-major-14-0 i2c-keywest alias /dev/mixer i2c-keywest
update-modules, make sure your
/dev/dsp is writable by your user (
chgrp audio /dev/dsp; adduser username audio and log in again) and
mpg123 should play happily.
powerpc-utils is some useful software that comes along with the install;
dpkg -L powerpc-utils | grep bin/ to see a list.
apt-get install fbset; fbset -x may dump out a more appropriate 1152x768 mode for your
If, after reading through this guide, you have any problems, please mail me and I'll fix it. I'd hate to have incorrect information!
Many people have written similar pages, and I'm sure they're all good.
- http://cattlegrid.net/~christophe/titatium/ —- one reader of this page said it was a good resource for the 667 and 800 models.