Installing Debian Woody on 43P-140 RS/6000 PowerPC

This document is not intended to be a comprehensive step-by-step howto. Only the basic steps are mentioned here. Post-installation configurations are left to the reader.

Abstract: These pages describe the way to install Debian Linux on a IBM 43P-140 RS/6000 PowerPC (604e processor type) using a serial console

First we will need two floppy disks to get the installation going. One is a kernel floppy (boot floppy) the other is a root floppy. I found that the 2.2.x linux kernels are not working on these machines so I have downloaded the 2.4.15 kernel (as it was the latest that a ppc patch was available for at that time) and the 2.4.15-ppc-patch as well.

$ wget http://www.kernel.org/pub/linux/kernel/ports/ppc/ppc-patch-2.4.15.gz
$ wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.15.tar.bz2
Unzip the source and patch it.
Be sure to compile the following options into your kernel: Here you can find a sample config file for the kernel that worked for me.
The two boot images I have used can be downloaded from here:
The kernel
The root disk

Don't forget to set the kernel boot-time parameters properly. If you set the root device and the console option now, you will not have to recompile your kernel after installation.
After you have typed make bzImage and it has finished compiling and linking, you should dd the kernel image onto a floppy.
The kernel image will be placed in: <kernel source dir>arch/ppc/boot/images/zImage.prep.

$ dd if=zImage.prep of=/dev/fd0
Label the floppy as boot floppy; this will be the first one to insert into your ppc during booting.
After this you should get a root image. The official woody root.bin for PowerPC-Prep should work, dd it onto another floppy. (Since we have compiled everything into our new 2.4.15-ppc kernel only the root.bin image is necessary for the installation)
$ wget ftp://ftp.debian.org/debian/dists/woody/main/disks-powerpc/current/prep/images-1.44/root.bin
$ dd if=root.bin of=/dev/fd0
Insert the boot floppy into your drive.

Now we need to get the firmware to boot from floppy.
This can be done basically in two ways:

  1. During the boot process (after the "RS/6000" signs appear on the terminal) press 1. This will take you into a menu system, which is trivial to use. You can set the boot sequence here.
  2. During the boot process (after the "RS/6000" signs appear on the terminal) press 8 on your terminal keyboard and you will get a "0 >" prompt. Type boot floppy here.
As the linux loader prompt appears, type in the following:
root=/dev/fd0 load_ramdisk=1 fake_initrd console=ttyS0,9600
This tells the kernel that the ramdisk should be initialized (with the default 4096K size), and that the root disk should be asked for, and the console will be a serial console on ttyS0.
When prompt appears insert the root floppy and wait.
After a while the familiar debian install screen should appear on your terminal.

During installation you should proceed as you usually do, only one step should be done a bit differently. If you want to boot from a hard disk without a floppy be sure to make a Prep boot partition (type 0x41) at the beginning of your disk to where the kernel should be placed (this partition must be at least 800K large).

After the system comes up and everything's configured, you can tell your machine to boot from the hard disk not from the floppy. This can be done with yaboot (you'll need a patch for that). The way I did it:
dd your kernel image to the Prep boot partition

dd if=/boot/vmlinuz-2.4.15-ppc of=/dev/sda1
(Assuming that the Prep partition is on /dev/sda1)

After setting the boot sequence properly, to the disk where the kernel images was dd-ed to, your linux box should boot automatically.


Last Modified: 2002-11-24 19:55 CET by Kovacs Richard (krichard at halamar dot hu)