About Debian News Getting Debian Support Developers' Corner Site map Search
 


Index
Install
History
People
Machines
tervola
wanna-build
todo


Public Relations
Our Goals
Misc
Archive
PowerPC
Tools

 
 

PowerPC Port of Debian GNU/Linux

Parts of this may be out-dated.

WARNING

You can't install this system over an existing one. You will screw it up. Either ensure that it won't hurt your if your system only has a working Debian base left instead of a half working RedHat or DR system or install Debian on a different partition, preferred.

Intallation of Debian GNU/Linux on PowerPC machines

Short description comes first:

Ok. You should the the following:

  1. boot the disk under Linux, somehow, via installer, boot disk, cdrom. At least it runs under Linux.
  2. Get essential programs to work. These are: shell, mke2fs, tar, pdisk (fdisk replacement) gunzip, mount, umount (sync, eject could be helpful), maybe quik
  3. a way to access external data, e.g. by ftp'ing, reading from a hfs partition, external disk with data written by another system.

  • partition the disk
  • mke2fs a file system on it
  • mount it
  • mount the hfs partition (assuming you put the powerpc-base there)
  • Install it with cat power-base|gzip -d|tar -x -C /mnt -f -
  • Adjust passwords
  • Install a working kernel
  • Figure how you can boot, either by using quik or a different mechanism
  • Adjust OF
  • try to boot
  1. Get and install StuffIt

    We're sorry, but the only way to get this is to get a Mac-formated disk from another Mac. After copying StuffIt on the machine you should try to start the program and place it in the 'System folder' (don't know what this is called in english, 'cause I had a german MacOS, -Joey).

    After that you can copy *.hqx files using a simple msdos formated disk. Insert the floppy in the PPC and use drag-and-drop, just select the file, hold the left mouse button down and move it onto the StuffIt symbol on the desktop.

  2. Get and install pdisk from MkLinux

    Ftp to ftp.mklinux.apple.com, it has a package called pdisk in the directory Other_tools within the DR2.1 directory.

  3. Partition your disks

    Start `pdisk' and press 'L' (show maps from all disks). If you get nothing here you just have encountered a big problem. You need to have scsi disks - (e)-ide disks aren't recognized.

    If you have fresh disks or disks that come from other platforms, just 'e'dit the map and create a new one. Don't forget to write the new one.

  4. Boot Variables 1.3

    You can get them from ftp://samba.anu.edu.au/pub/linux-pmac/bootvars-1.3a.sit.hqx. This program is an interface to Open Firmware (OF) that offers you a basic interface to the system. Here you can define from which disks the machine should boot and which parameters are passed over to the booting system.

    Later on you can set these variables from within Linux or directly within Open Firmware. The most important values are:

    input-device - Set from which disk/partition the machine boots
    output-device- Set from which disk/partition the machine boots
    boot-device - Set from which disk/partition the machine boots
    boot-file - Define the boot file, i.e. the kernel to use
    auto-boot - Define wether the machine should not wait at OF

    The default setup for OF is to interact with a serial console. The appropriate name for it is ttya. In order to be able to read and write on the console you have to set input-device to kbd and output-device to screen.

    Posssible values for boot-device are ata/ata-disk@0:0 for the first IDE disk and scsi/sd@3:0 for a SCSI disk that has ID 3.

    The second variable, boot-file, points to the file to boot on the given device. Using Linux this points to a kernel. As usual you can pass additional variables (such as root=/dev/sda2) to the kernel.

    These values can be set within OF with the setenv command or within Linux with the nvsetup program. Issuing it without an argument gives you the current setting. Within OF this is achieved by the printenv command.

  5. Booting Linux

    When there is no Linux running on the system this could be difficult and need some fiddling. You'll have to find some boot disks and boot from them. Unfortunately I have sort of forgot the exact paths.

    Basically you can use the boot disks from ftp.linuxppc.org. If I remember correctly you have to fetch the installer.coff or partition.coff file and drag it under MacOS and drop it over the floppy symbol. Later on after a reboot you have to enter Open Firmware (OF) by pressing Option-Command-O-F (iirc) after you hear the harps. There you have to type "boot fd:partition.coff" to boot from floppy.

  6. Installing the base

    After you have managed to partition the disk and create a file system on it you can continue to install the base system. Harmut Koptein has created an actual base at ftp://ftp.infodrom.north.de/pub/Linux/linux-pmac/debian/current/base-powerpc.tar.gz. You can install it using gunzip and tar. Please remember that it might not contain a working Linux kernel. So you have to fetch one yourself - from the boot disk for example.

    The current base system lacks an awk so dselect won't work out of the box. Please fetch an awk from the Debian FTP site and install it via dpkg -i.

  7. Activating the kernel

    After you have copied the kernel onto the new system you need to activate it and install the Linux loader. This can be tricky. If you need Quik (you don't need it if you have a PReP system) you have to get /etc/quik.conf to look like something like

       timeout = 10
       root = /dev/sda2
       image = /boot/vmlinux-2.1.115
       label = linux
    

    After that you have to call quik with -r /mnt to tell it where the new root system resides. After a reboot you have to adjust OF by entering something like:

       setenv boot-device=scsi/sd@4:0
       setenv boot-file=linux root=/dev/sda2
    

    This tells OF to boot from the scsi disk with SCSI ID 4 and LUN 0 (whole disk). After that you have to type "boot" to let Linux boot. It's possible that you can skip the root= assignment.

  8. Compiling your own kernel

    In order to reduce kernel size and to add support for your environment I propose that you compile a kernel of your own. We currently use 2.1.115 which works fine for us. You'll find it at ftp://ftp.linuxppc.org/linuxppc/powermac/v2.1.115/ sure if that's the pristine kernel or if it contains special PowerPC patches.

    Since there is a problem with some late 2.1.x kernel concerning chown()/lchown() you should use a kernel newer than 2.1.102. The next glibc-pre2.1 release will have an experimental patch that will fix this problem.

  9. Comments

    This receipe is not complete. It's written from memory and knowledge that I gained through the years. There are some details missing and I assume that some descriptions are even incorrect. Please bear in mind that I've initially installed my machine some two years ago. After that we had a running Linux or Debian system on it.

    The purpose of this document is that I don't have to tell individual people how to install it over and over again.

  10. Further questions

    If you have questions, please don't mail me personally but mail to debian-powerpc@lists.debian.org instead. I'm reading and I'll answer if I have time and sufficient knowledge. If not the other team members will drop you a line.

Please also refer to PowerPC Linux Installation on Power Macintosh by Paul Mackerras and to Open Firmware and Boot Variables.


© Joey, last modified: March 28, 2004, page source.