Debian on PowerBookG4

There are many excellent guidelines to install Linux on a Powerbook G4:
 * Debian GNU/Linux Installation Guide for PowerPC
 * Linux on an Apple Powerbook 12"
 * Install Debian GNU/Linux “sarge” on Apple PowerBook G4 Aluminum (12-inch 1.33GHz)

Bellow are a few additional notes.

Machine specs

 * ''Main article: Config:Kwek


 * Machine:Powerbook G4 (version 2.1) (NewWorld PowerPC) powerbook3,3 (powerbook Titanium II) Oct 2001 (Onyx)
 * Boot ROM:OpenFirmware 4.2.9f1 (NewWorld PPC)
 * CPU:550 MHz G4 (Motorola 7400), 32 bit, 100 MHz bus speed (7450 altivec processor)
 * Memory:512 MB SDRAM (2x S0DIMM/J16)

Hard Disk
The machine came with a broken hard disk. I bought a new 250 GB hard disk. It appeared that Mac OS X driver can only see the first 128 GB, while Linux can see all of the disk. I did not notice at first, and this caused me to screw up my partition table. Back to square one, and start over... Basically, the Mac OS X driver can use the disk up to the first 128 GiByte of data. As soon as it writes (or reads?) anything beyond that point, it goes astray. I finally solved this by having multiple partitions, and not mounting any partition that crossed that 128 GiByte line.

The Debian installer gave errors when I tried to create ext3 partitions (ext2 and ReiserFS worked fine), and also gave an error:

No NewWorld boot partition was found. The yaboot boot loader requires an Apple_Bootstrap partition of at least 819200 bytes in size, using the HFS Macintosh file system.

This message confused me, as I thought it was related to the partition map (a very small, eg. 64 KByte) "partition" that contains info about other partitions. However, this is just a very small hard disk with a very minimal boot loader (micro operating system) that is used for dual booting (it let's you choose between Linux and Mac OS X, and then proceeds to load that kernel).

Bad ISO image
Somehow I never managed to boot from a Debian CD or USB stick. The ISO images gave an error: The disk image you are opening may be damaged and could damage your system. Verification by Disk Utility gave the warning Debian:PowerPC_etch: Invalid number of allocation blocks. In reality, I could open them and examine the contents, so I did burn a disk using the ISO images, both using Disk Utility and the dd utility.

Partition Map
PowerPC Macs require a Apple Partition map, thus not a GUID partition map (Intel Macs) nor a Master Boot Record (Windows parition map).

Open Firmware
Open Firmware was not very helpful. Here are a few of the error message: dir cd:\ bad READ-1 can't OPEN the dir device

The bad READ-1 suggests that this is caused by a bad disk image (I had problems with the Debian CD, even though I can mount it in Mac OS X).

dir hd:,\ can't OPEN the dir device

You may need to specify a partition (note that hd:,\ and hd:\ are equivalent):

dir hd:2,\

dir usb0:\ method not found; ihandle=ffbc5c40 phandle=ff96b960 DIR method failed

For USB, you need to specify the disk as well (here: USB port 0, disk 1 (the only one), partition 1:

dir usb0/disk@1:1,\

(Unfortunately, this gave me an empty result, even though I was sure the USB key had some contents. I did not look any further.)

Boot from USB
I once managed to boot the Mac OS 10.4 installer from a USB key. That more or less by accident and I was not able to replicate that result (not to mention it was slow......).

Bootstrapping
I finally installed Mac OS 10.2 with from an old install CD, and installed Debian installer from the hard disk by copying the files:
 * yaboot
 * yaboot.conf
 * boot.img.gz
 * boot.msg (optional)
 * vmlinux
 * initrd.gz
 * debian-40r6-powerpc-netinst.iso (this is not mentioned, but is later required during installation). Interestingly, the Debian installer was able to find this .iso file on a HFS+ partition, but was not able to create a hfsplus partition.

I downloaded these files from a mirror of the Debian archive:
 * boot.img.gz, boot.msg, initrd.gz, vmlinux, yaboot.conf from the folder for Hard disk installers for PowerPC.
 * ISO file from Debian PowerPC ISO archive. You may also try mini.iso from the graphical installer folder.
 * yaboot from the iso disk, but you can also get it from the netboot folder.