Debian on a TiBook

(last updated: 2003-10-18.)

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.

Kernel Configuration

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.

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 loadkeys on mac-us-std.kmap.gz and see if that fixes the keyboard. Also, look in /usr/share/keymaps/i386/qwerty at mac-usb-us.kmap.gz or us.kmap.gz. You can use install-keymap to finalize the change; it basically changes a file in /etc/console.

XFree86

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!

Power Management

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.

Sound

Create an /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

Then run 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.

End Notes

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 XF86Config-4.

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!

Other Sites

Many people have written similar pages, and I'm sure they're all good.

Evan Martin, martine@danga.com