Installation of Linux on PPC based Macs

Submitted by linuxopjemac on Sat, 02/06/2010 - 16:19

A very old Guide to installing Linux on Nubus based PowerMacs.

 

The purpose of this guide is to help you get Linux running on your NuBus-based PowerPC Macintosh computer. This includes Apple Power Macintosh 6100, 7100, 8100 and compatibles, Apple PowerBook 1400, 2300, 5300 and Apple Performa 5200, 6200, 6300. Please note that this work is experimental and should not be expected to work, nor should it be expected to be 100% up to date. In other words, YMMV. 

Primary resources

nubus-pmac.sourceforge.net is the current home of the monolithic Linux kernel for for NuBus machines. This includes a more complete list of working and non-working hardware.
http://sourceforge.net/projects/nubus-pmac/files/  is the current file repository for the NuBus port. FTP access is down at this time (2001-11-04).
lists.linuxppc.org maintains a linuxppc-nubus mailing list, which is a good place to get your questions answered.

Acknowledgements

Portions of this page are inspired by or are paraphrases from work by Takashi Oe, Michael Roeder and Greg Ingram.

Sections

This document is broken into the following sections:
0: Warnings
1: Choosing a distribution
2: Choosing a boot loader
3: Installing
4: Installing without a CD-ROM
5: Hints and Errata

0: Warnings

Before you do anything, re-read the introductory paragraph, and take it to heart. You should definitely check nubus-pmac.sourceforge.net for information about whether or not your hardware is supported. NOTICE THAT PCMCIA IS NOT SUPPORTED. Most likely it will never be supported, as the main developer has been unable to find specs/documentation on the PCMCIA controller in the NuBus-based PowerBooks.

1: Choosing a distribution

At the time of this writing, all major PowerPC Linux distributions should work on NuBus machines when the kernel is replaced by a NuBus-enabled kernel. None of these distributions currently distribute a NuBus-enabled kernel, however. For the user who may be new to Linux on PowerPC we list known distributions. See also penguinppc.org and www.powermaclinux.net. It is probably wise to avoid "unmaintained" distributions.

Currently much of this guide will focus on YellowDog Linux, because that is the distribution with which the author is familiar. If you consider yourself to be very knowledgable about another distro, and have some free time, please write up the details and send them to me for inclusion.

 

Distribution Web site Status
Debian www.debian.org/ports/powerpc  
LinuxPPC www.linuxppc.com A PowerPC-only distribution. Allegedly unmaintained.
Mandrake www.linux-mandrake.com/en/ppc.php3  
MkLinux www.mklinux.org The original Macintosh Linux based on a Mach Kernel. Believed to be obsolete and unmaintained.
SuSE http://en.opensuse.org/POWER%40SUSE  
YellowDog Linux www.yellowdoglinux.com A PowerPC-only distribution

2: Choosing a boot loader

The boot-loader is a small piece of software which allows you to choose which operating system to boot.

 

Note: Users familiar with PowerPC linux on New-World Macs should be aware that the yaboot/ybin bootloader will not work on NuBus machines.

We recommend using Apple's MkLinux boot loader, but BootX and miBoot may also work.

 

Boot loader Download Notes
Apple MkLinux boot loader http Theoretically works with all supported machines
BootX 1.2b1 http This version does not support HPV video cards
BootX 1.1.3 http This version supports only HPV video cards
miBoot 1.0a3 http Provided by Jeff Carr of LinuxPPC.com. This works only with HPV video cards.

3: Installing

Required:

  • Apple Power Macintosh 6100, 7100, 8100 and compatibles, Apple PowerBook 1400, 2300, 5300 and Apple Performa 5200, 6200, 6300.
  • 16 MB of RAM (More is required for recent distributions like YellowDog 2.0). 32 MB of RAM (or more) is recommended.
  • 250 MB Hard Drive: This will be quite crippled, more will be much better.
  • MacOS install media and disk tools.
  • Linux distribution install media, usually a CD-ROM. See Section 4 for notes about alternative install schemes.
  • Apple MkLinux boot loader (see Section 2).
  • Installer+Kernel "Mach Kernel" file. See below.
  • Kernel-only "Mach Kernel" file. See below.

Installer File: You will need to get the appropriate "Mach Kernel" file from nubus-pmac.sourceforge.net/nubus-pmac/. For example, if you are planning to install YellowDog 1.2.1 you will want http://nubus-pmac.sourceforge.net/nubus-pmac/MachKernel-YDL1.2-20010606.gz. This file contains the NuBus enabled kernel as well as the installer ramdisk.

Nubus Kernel: You will also want to download the most recent "MachKernel-[date]" file from nubus-pmac. At the time of writing this is http://nubus-pmac.sourceforge.net/nubus-pmac/test/MachKernel-20010619.gz. Note that if you are using YDL 2.x or the most recent versions of LinuxPPC, you will need the new input layer built into your kernel. These kernels are the "MachKernel-input-[date]" files. If, when you type, you get the wrong characters, this is most likely your problem.

Step 1: Re-Partioning and installing MacOS

Please refer to your distribution's installation instructions. Since the only boot-loaders that work on NuBus machines are BootX, miBoot and the MkLinux boot-loader, follow a set of instructions which has this in mind. The YellowDog CS 1.2 install guide (available here) section for BootX setup is a good reference. The only real requirement is that you end up with a working MacOS installation, and the rest of your disk partitioned as specified by your distribution. Note that MacOS 7.5 and 8.0 can fit in 30 megs of hard drive space, so if you plan not to use MacOS, you should allocate only about 30 megs for it. You absolutely must have a MacOS partition however, as these bootloaders require MacOS to work.

Step 2: MkLinux booter installation

First, open the memory control panel and turn off virtual memory in MacOS. Then unstuff the MkLinux booter and place

  • Place lilo.conf and MkLinux prefs into System Folder:Preferences
  • Place MkLinux Booter into System Folder:Extensions
  • Place MkLinux into System Folder:Control Panels

Next uncompress the Installer+Kernel that you downloaded earlier. Rename it "Mach Kernel" (without the quotes) and place it in the extensions folder. Finally, open the lilo.conf file in your System Folder:Preferences and change the rootdev line to say "rootdev=/dev/ram" (without the quotes). If you are installing something other than YDL 1.2.1, check the nubus-pmac.sourceforge.net site for other needed options. YDL 2.x, for example, requires "mach_options= ramdisk=16384". You may find that you need other machine options in order to make your display work correctly. Again, check nubus-pmac.sourceforge.net and select the options that you need. If you happen to know what flags are needed for some particular model of Macintosh, please email me. I will add a table of suggested boot options in the future. Now you are ready to restart your machine and install Linux.

Step 3: Linux installation

Restart your Mac with the install CD in the CD drive. Do not boot the CD. When the machine reboots, you should now receive a window which asks you whether you want to boot MacOS or "MkLinux." Choose MkLinux to continue with the installation. Refer to your distribution's install guide in order to complete this process. Be sure to note the name of the partition where Linux is installed: It should look something like "/dev/hdaX"

Step 4: Post-Installation

After the linux installer finishes, your computer should reboot (or you should reboot it yourself). This time when you come to the MkLinux dialog, choose MacOS. Edit your lilo.conf, changing the rootdev line to reflect wherever you installed linux. The result should be something like "rootdev=/dev/hda9". Also remove any ramdisk options that you needed for the installer. Finally, extract the "MachKernel-[date].gz" file you downloaded, rename it to "Mach Kernel" and copy it over the "Mach Kernel" in your Extensions folder. Now you can restart, and at the MkLinux dialog pick MkLinux. You should now boot into a working Linux installation!

4: Installing without a CD-ROM

For many users it is very inconvenient to install from CD-ROM. This section endeavors to give a few hints for alternative install methods, though most likely each install will be different.

Several distributions are able to install over a network, though be warned that PCMCIA network cards (and many NuBus network cards) will not work with Linux. As always, refer to nubus-pmac.sourceforge.net to check whether or not your device is supported.

Many people would like to install from a hard drive or Zip drive, and this is also possible for many distributions (though not for YDL 2.0 or 2.1). If you do not want to waste 600 megs of your hard drive (or if you use a 100 MB zip disk) you will need to select a minimal set of packages to install.

To install YDL 1.2.1 you will need a directory called "YellowDog" on your drive. In this directory copy the "instimage" and "base" directories from the YellowDog CD. Also created a folder called "RPMS." The following is the base list of packages required to install YDL 1.2.1:

This will require about 70 MB of space. When you install you will get errors on the missing packages: Simply continue the installation, instruction the installer to ignore the missing packages.

5: Hints and errata

In this section you will find miscellaneous tips and hints that did not fit anywhere else in the guide, but which might be important during the install process. Please send any install tips you have to me.

  • Grayscale PowerBook 5300: There is a bug in the Kernel which causes the kernel to die on grayscale displays at boot time. If you have this machine, and you see some boot information, but you never see the linux penguin, then this bug is what you are hitting. Try a kernel from February or March 2001, as the bug was introduced later. Also, the display on this machine is inverted. If you feel a bit more adventurous, search the linuxppc-nubus archive for some patches which fix both of these problems.