by Jérôme Cornet
Since I started to install linux, I found a lot of problems due to unsufficiant or unclear documentation. This unofficial Guide explain the linux installation step by step on PowerMacintosh Systems (such as 5400,6400,6500,7500,8500...). The linux installation on others PowerPC Systems (BeBox, IBM, Prep...) is not explained but some sections apply for this installation. I do not take responsability for any damages, or loss of data that could results. This is at your own risk. | |||||||||
Section I: General Informations
|
|||||||||
Section IV: The RedHat Installer
|
|||||||||
Section III:OpenFirmware
|
Section I: General Informations
What is Linux?
Linux is an operating system. It features all the things you can expect from a modern OS: modern architecture (kernel, daemons, servers...), preemptive multitasking, multithreading, multiuser ability. The Linux Operating System is distributed under the Gnu General Public License (GPL): that means that this OS is FREE and that you can get the sources and re-compile it as well.
Consequently, all software for linux (except some commercial programs) is free and you can get its source code (except Netscape Navigator which is free but provided whitout the sources and some author that could not provide the source code of their contribution), re-compile it or modify it.
What is the difference between LinuxPPC, Linux P-Mac and MkLinux?
Linux has been created on a 386 PC so it was originally for PC. But some intelligent people ported it to PowerMac (as the author authorized it by the GPL). There is 2 ports of Linux for PowerMac: LinuxPPC and MkLinux. MkLinux is a port realized by Apple and the Open Software Fondation (OSF). LinuxPPC is a port realized by Paul Mackerras.
The difference is that MkLinux does not run on Performa serie and on MacOS clones which has an Internal IDE HardDisk. It requires 604 & 604e machines such as 7500,8500,9500 in order to run. LinuxPPC runs on a lot of PowerPC systems: BeBox, IBM,Prep, PowerMacintosh and on the Performa series. See the section System Requirements for additional informations. LinuxPPC is also faster than MkLinux because it is a native port which means that it would run only on PowerPC Systems whereas MkLinux could easily be ported to others systems.
Linux P-Mac refers to LinuxPPC installed on PowerMacintosh. In fact, there are very little differences between LinucPPC and Linux P-Mac. If you get Linux from a LinuxPPC directory, you should also get the files into the PowerMac directory: don't panic, this would be explained in next sections.
What is a distribution?
This is some files put toghether on a CD-ROM or on ftp. There is several distribution in the PC World: RedHat, Suse, etc. We would use a port of the RedHat disitribution.
System Requirements
Although I said that LinuxPPC runs on a lot of PowerPC Systems, you should check if your computer is in the list. This list apply only for PowerMacintosh Systems (Apple and Clones) and is taken from the file STATUS available at ftp://ftp.linuxppc.org/pub/linuxppc/powermac/
NEW! PowerMacintosh G3 are now supported! See in this list.
Vendor | Machine | Does LinuxPPC work? | Does X work? |
Known Problems |
Apple | 3400 | Yes | Yes | problems with combined ethernet/modem card |
Apple | 4400 | Yes | Yes | |
Apple | 5400 | Yes | Yes | |
Apple | 5500 | Yes | Yes | |
Apple | 6400 | Yes | Yes | See below |
Apple | 6500 | Yes | Yes | |
Apple | 7200 | Yes | Yes | |
Apple | 7220 | Yes | No? | |
Apple | 7300 | Yes | Yes | |
Apple | 7500 | Yes | Yes | |
Apple | 7600 | Yes | Yes | |
Apple | 8200 | Yes | Yes | |
Apple | 8500 | Yes | Yes | |
Apple | 9500 | Yes | Yes | See below |
Apple | 9600 | Yes? | No | |
|
|
|
|
Need special installation. See linuxppc.org |
PowerComputing | PowerBase 180 | Yes | Yes | |
PowerComputing | PowerBase 200 | Yes | Yes | |
PowerComputing | PowerCenter 132 | Yes | Yes | |
PowerComputing | PowerCenter 150 | Yes | Yes | |
PowerComputing | PowerCenter Pro 180 | Yes | Yes | |
PowerComputing | PowerCurve 120 | Yes | Yes | |
PowerComputing | PowerTower 180 | Yes | Yes | |
PowerComputing | PowerWave 120 | Yes | Yes | |
PowerComputing | PowerWave 132 | Yes | Yes | |
PowerComputing | PowerWave 150 | Yes | Yes | |
UMAX | C500/180 | Yes | Yes | |
UMAX | J700/180 | Yes | No? | |
UMAX | S900/180 | Yes | No? | |
UMAX | Apus 2000 | Yes | Yes | CD-ROM doesn't work |
APS | M*Power604e/200 | Yes | Yes | |
Motorola | StarMax 3000 series | Yes | No | Problems with CD-Rom |
Motorola | StarMax 4000 series | Yes | No |
Updated: 3/06/1998
APS Technologies and PowerTools manufacture Mac clones using the same motherboards as the StarMax machines, so these should work also.
Some users have reported that on the Apple Powermac 9500, it is necessary to move the video board to the second slot from the top in order for it to work.
When booting off SCSI hard disk, the kernel finds the partition it booted from automatically, but it doesn't when booted from an IDE disk. In this case you need to specify the root partition in the Open Firmware boot-file variable or in the /etc/quik.conf file.
On the Performa 6400, it is not possible to boot from a SCSI disk, presumably because of problems in Open Firmware's MESH driver. You can boot from a partition on the internal EIDE hard disk, or from floppy or ethernet.
Various people with machines with ethernet cards based on the DEC 21041 ("tulip") have reported problems with timeouts and inability to transmit.
If your machine isn't listed above, and it's an older model(i.e. introduced in 1995 or earlier), or one that doesn't have a PCI bus, then almost certainly Powermac/Linux won't run on it. Machines in this category include the PowerMac 6100, 7100, 8100, the earlier Performas (e.g. 5200, 6200), and the PowerBook 5300 and 1400. Check out MkLinux to see if it will run on your machine.
If your machine is a new model PowerMac or clone, then probably Powermac/Linux will run on it, although you will not be able to run X unless the video display card you have is supported.
I recommend that you see the web page at http://www.duke.edu/~wj/linux/ for more
information on running Powermac/Linux on StarMax machines.
Required Files
You can already have those files if you have a LinuxPPC CD-Rom: in that case, jump to Section III
If you have not those files you must get them by ftp. There is two main adresses to get linux:
All the files must be downloaded in BINARY mode.
The BootVariables Application
Step #1: Get bootvars.sit.hqx. Then unstuff it with Stuffit Expander and you should now have an application named "Boot Variables".
Installer.coff & vmlinux.coff
Step #2: Get Installer.coff. There is a lot of differents installer.coff available thru the Internet but I think it there not matter using one or another.
Step #3: Get vmlinux.coff and vmlinux
The RedHat directory
Step #4: Create a folder named "RedHat" (the case is important) at the top level of your hard disk. Create two folders inside the "RedHat" folder named "base" and "RPMS".
Step #5:Download the content of the base folder on the ftp server (full url: ftp://ftp.linuxppc.org/pub/linuxppc/powermac/base/ )into the base folder located on your hard disk.
Step #6:Now look at the file named "comps.pmac" into the base folder with a unix-compatible text editor such as BBEdit. This file lists all the files that must be present in the "RPMS" folder. Don't panic: you don't need all the files.
The files are grouped by section: *beforeskel*, Base, Basic Network, etc. If you want to run a minimal linux version (without X) you need the files listed into the *beforeskel* and Base. If you want additional support such as network, X or development you will need additionally the files in the respective groups.
Step #7: So, download the files needed from the RPMS folder on the ftp server (full url: ftp://ftp.linuxppc.org/pub/RedHat/RPMS/ ) into the RPMS folder located on your hard disk. This would be very long: remember: get the files in binary mode. Don't use files downloaded the last year: you need "fresh" files. You can get the files on several weeks.
If the long download is complete you now need to replace some files which are specifics to the PowerMacintosh Platform.
Step #8: By ftp, go into the powermac alias then open the RedHat folder, then open the RPMS folder (full url: ftp://ftp.linuxppc.org/pub/linuxppc/powermac/RedHat/RPMS/). There are several files in this folder which have the same name as files which are in your own RPMS directory: replace your files with those which came from the server.
You are now ready to install linuxppc on your machine! Congratulations! See the next section to install linux.
What is OpenFirmware?
OpenFirmware (OF) is a piece of software located in ROM which launch the MacOS at powerup and which is able to launch others systems. Unlike MkLinux, LinuxPPC uses OpenFirmware to boot. This is why old PowerMacintosh such as Nubus PowerMacintosh can't boot LinuxPPC: they haven't got OpenFirmware in their ROM.
OpenFirmware Settings
OpenFirmware can be configured by two ways: from the OF Command Line and from the Boot Variables application. The OpenFirmware Settings are stored in the PRAM.
Configuring OF from the Command Line requires to change OF Output-device variable. If you change this variable, linux won't boot for a mysterious reason. However, if you know that linux is booting with such settings, read the official INSTALL file where more about OF can be found.
So, we'll use the Boot Variables application. Launch it. A window appear:
The boot-device is currently set to /AAPL,ROM which means that the mac will boot to Apple Roms at powerup. The variable can be set to different values such as:
Click the "All Variables" check box. The window resizes:
It is important not to modify unknown items. The only one item that we'll use is: input-device. This variable is by default set to "ttya". That means that the command line interface of OF will be issued thru the modem port with current settings: 38400 baud, 1 stop bit, no parity (no specifics flow control or handshake).
Those settings are restored every time the pram (aka the parameter ram) is zapped. If you let input-device set to ttya, and if things goes wrong (or if you want to abort the installation) you won't be able to restart your mac under MacOS so you need to set the input-device variable to kbd which means "keyboard". I highly recommend that you let the ouput-device variable set to ttya because if you set this variable to screen (to dislpay the OF command line on your screen), the RedHat installer will not boot.
Section IV: The RedHat Installer
Booting the RedHat Installer
The following steps are for those who downloaded the files:
length | base | |
1: Apple partition map: | 63 | 1 |
2: Apple driver ATA: | 54 | 64 |
3: Apple driver ATA: | 74 | 118 |
4: Apple patches: | 512 | 192 |
5: Apple HFS: | 2050938 | 704 |
6: Apple HFS: | 1282822 | 2051642 |
7: Apple free: | 10 | 3334454 |
In that case, we have an ide disk and two partitions: 5 holding MacOS and 6 intended for linux. 7 is the free space unused and 1,2,3,4 are apple disk drivers.
Type "d" followed by the partition number intended for linux (in this case: 6) then type "p":
length | base | |
1: Apple partition map: | 63 | 1 |
2: Apple driver ATA: | 54 | 64 |
3: Apple driver ATA: | 74 | 118 |
4: Apple patches: | 512 | 192 |
5: Apple HFS: | 2050938 | 704 |
7: Apple free: | 1282822 | 2051642 |
Now create the two partitions for swap and root by typing "n", followed by the respective base and length values (in blocks), followed by a name for the partition. Be careful to create a swap size that is less than 128 Mb - Linux has a problem with bigger sizes.
The final partition map looks like this:
length | base | |
1: Apple partition map: | 63 | 1 |
2: Apple driver ATA: | 54 | 64 |
3: Apple driver ATA: | 74 | 118 |
4: Apple patches: | 512 | 192 |
5: Apple HFS: | 2050938 | 704 |
6: Apple Unix SVR2: | 250000 | 2051642 |
7: Apple Unix SVR2: | 1032822 | 2301642 |
6 holds the "swap" partition which is necessary for running the linux "virtual memory" which is always enabled. 7 holds the "root" partition which is the main linux partition. If your root partition is less than about 250Mb or so, you will need to create a separate "usr" partition of at least 200MB (assuming you want to install X; it's possible to install a minimal system in less than 100MB).
Booting Linux
There is several ways to booting linux but wed'll talk only of the most common ways. You need the vmlinux and vmlinux.coff files downloaded in binary mode (see the beginning if you have skipped those steps).
In futur, to avoid booting from the floppy disk, you will need to copy vmlinux to your root partition.
Installing XWindows - Important
The RedHat Installer theorically installs XWindows when you choose "XWindows System" in the packages needed to be installed. But the version provided does not work properly on PowerMacintosh. You have to download another file called "Xpmac.gz" located only on ftp.linuxppc.org (samba does not provide an up-to-date mirror). The full URL is:
ftp://ftp.linuxppc.org/users/atong/Xpmac.gz
This file contains a fonctionnal version of XWindows for PowerMacintosh but it needs that you have previously installed XWindows with the RedHat installer. Here is an example of procedure to follow to install Xpmac.gz:
You can now enter XWindows with "startx".
XWindows can refuse to launch with some errors reported. This is probably due to your kernel. With recent Xpmac you should boot with the very latest kernel available on ftp.linuxppc.org.
That's all folks!
Just e-mail if you have a problem!