Distribution: GNU/Debian (Woody)

General preparation and strategy

General caution warnings apply, have a backup of all data you consider important.

It is important to have a rescue booting method in mind. For operating systems from Apple like MacOS and MacOS-X this is the installation CD. For GNU/Linux we used the yaboot from the a Debian Potato PowerPC bootable CD.

There are several keystrokes that you should be aware of with Apple Laptops:

C at startup
Will try to boot the system from the CD
Apple+choice+O+F at startup
Will bring you into the OpenFirmware prompt
Hardwired shutdown of the system

To boot the linux Kernel and your GNU-System from the harddrive or the CD can be tricky if you need special options. You can see that you can boot into yaboot on harddrive or CD from the OpenFirmware prompt. You can then use yaboot to boot your kernel and let it find the system. We had to use several methods.

Installation of the base system

We are going to install Debian GNU/Linux Woody, at the time of installing the system, no installation CDs were available. Even the bootdisk image was broken. See the first step as a documentation about what is possible in emergency cases.

Hopefully at the time you read this a bootable Debian GNU/Linux CD for PowerPC will be available. Right now (End of October 2001) the installation of a Debian GNU/Linux System on a Apple Titanium should work well placing the yaboot, yaboot.conf, vmlinux and root.bin from the Debian Woody release on the hard disk and proceed.


You need:

Prepare the hard disk using the MacOS DiskDrive Setup

Boot up from the MacOS CD and completly clean the diskdrive using DiskDribe Setup and create the following:

Reinstall the MacOS

Boot a minimal Woody-System so you can use a modern mac-fdisk

Copy the files yaboot, yaboot.conf, vmlinux and root.bin to the second partition:

your yaboot.conf should look like:


Please note that the last line is essential at this point.

Reboot via OpenFirmware and yaboot

At the OF prompt type: boot hd:YY,yaboot to boot into the yaboot loader (replace YY with partition ID of your system, it could be 10.

Now you are at the yaboot prompt. Press the <tab> to examine the optional kernel images to boot. You should only see "Linux". Press <enter> to boot the kernel

After some messages scrolling over your screen you should enter the initial screen of the Woody Installation. The Debian Woody files we use for this were still somewhat buggy as mentioned before, but what is essential is the mac-fdisk program (partitioning tool) coming with the installation disk image.

Enter another console with "option-fn-F2", you will find yourself in a crude shell, the ash. Now you are at the Woody rescue level.

Partitioning your hard disk

  • Start with: mac-fdisk /dev/hda
  • Examine the partitioning with "p"
  • You have to create at least three partitions in the space where currently the empty partition resides.
  • Delete this partition with "d XX", replace XX with the right partition number.
  • Create a bootstrap partition (where we will install the boot loader later on): type "b", select with "XXp" the start of the now empty partition XX and give it "800k" space.
  • Create a swap partition: type "c", select with "(XX+1)p" the start of the remaining free partition and give it a reasonable size. Name it "swap" and mac-fdisk will automatically assign it the type "Linux Swap".
  • Create at least one partition for your system with: "c", "(XX+2)p" and "(XX+2)p". This would give the full remaining space to that partition. Otherwise specify a size and repeat the step. Name the partition "linux" or so. mac-fdisk will anyway assign it the type "Linux Native".
  • Examine the partitioning again with "p"
  • If you think everything is ok, think again about it. Typing the next command you may lose any data on the disk in case of an error - however there shouldn't be much on it if you followed these instructions. Write the new partition table to the disk with "w".
  • Leave the mac-fdisk with "q"
  • Install Debian potate base System from CD

    Reboot the titanium and reenter the OF boot prompt.

    We never managed to boot and install further with the woody ramdisk image a second time - weired. However, as something was broken, we did install a core system based on Potato: Insert the CD.

    At the OF prompt: boot cd:,\\yaboot

    At the yaboot prompt type install video=ofonly This is the way to bring options to the kernel. If you need more than one option, you have to seperate them by a Space.

    Proceed with the installation (now of the Potatoe Base System) up to the point where it comes to make the disk bootable. DO NOT perform this step. we have other ways to boot our system at this stage

    Leave the install tool, reboot and enter OF

    Boot installed system via the yaboot on the harddrive

    We have to use our initial yaboot again: The ID of the partition where yaboot reside has changed according to the partitioning (we have created at least two more partitions in front of the partition in question). In our example above, now start yaboot with: hd:12,yaboot

    At the yaboot prompt, we now can boot our freshly installed Debian GNU/Linux: hd:11,/vmlinux video=ofonly root=/dev/hda11 ro

    Now the installation continues:

  • Enable MD5 Passwords, with shadow, and set up root and a user
  • Use only the current CD as installation media. This brings a basic installation on your HD, which we will upgrade shortly.
  • You might need to switch again to the console and remount the root device rw at some time. mount -o remount /dev/hda11 /
  • Upgrade to woody

    We needed to upgrade to woody, hopefully you are in the good position to get a woody system right from the start and do not need this step.

    We have a base potato on our computer, we upgrade to woody at this stage. Having a apt-proxy in our subnet we can use it and add lines to /etc/apt/sources.list

           deb http://proxy.hq:9999/          woody          main contrib non-free
           deb http://proxy.hq:9999/non-US/   woody/non-US   main contrib non-free
    and (only needed for apt-proxy setup) to /etc/apt/apt.conf
           Acquire::http::Pipeline-Depth "0";

    Now that apt is ready you can use the regular Debian procedure to upgrade your kernel:

  • Update the package database: apt-get update
  • Upgrade the current system: apt-get dist-upgradey
  • then you need to get needed packages. apt-get sawfish
    New Keycodes -- Rescue situation
    The upgrade to woody changes the way the keycodes are handled. It will provide you with an option. The Titanium's keyboard is closest to the native USB Apple keyboard.

    At the first attempts this left us with a system which we could not use at all, because a wrong keymap got loaded. This is a good situation to describe what do to in such an emergency situation:

    Boot yaboot over Openfirmware like described above to add options (video=ofonly) and then boot from CD and switch to the crude resuce shell. Now you can use the mount command to mount the partitions on the disk. Let's say, you've mounted the partition on /mnt/. You can only use the commands in the rescue system first, the trick is to chroot /mnt to get all the binaries you have on the disk already.

    In our case we could just rename /etc/console/boottime.kmap.gz so that the wrong keymap would not be loaded. After a reboot we could configure a nice one.

    Boot selection

    The new yaboot package includes ybin and takes care of the most difficulties in blessing the small HFS partition and installing yaboot there. Note that if you change yaboot.conf you need to run at least ybin.
     apt-get -s install yaboot
     ybin --version
     vim /etc/yaboot.conf
     mkofboot -v 

    Modern kernel and X11

    To fully utilise your Titanium Powerbook you need a modern kernel.

    We started with a kernel from http://debian.jones.dk/debian/local/auryn/ and got an XF86Config from http://ftp.linuxppc.org/kernels/titanium/.

    Now the new XFree also worked with video=aty128fb.

    Places to get help

  • http://www.penguinppc.org/
  • comp.os.linux.powerpc
  • Mailinglists at linuxppc.org