Installing Linux on an Apple Network Server

Last Updated Jun 29 2001

Hollis Blanchard <hollis at>

Table of Contents


The Apple Network Server is fairly similar to a PowerMac 9500 in terms of hardware. However, they ran AIX 4.1.4 or 4.1.5, both of which had Y2K problems in their journaling filesystem.

The ANS 700 featured hot-swappable power supplies, processors, and hard disks. The ANS 500 is the base model. Both feature 132 MHz PowerPC 604 processors (for which 200 MHz upgrades exist). They use standard Apple ADB keyboards and mice. They also feature an LCD display on the front of the case (yes, you can use it under Linux with the lcdproc program and a patch).

Apparently the only remaining mailing list for ANS Linux users is at



The power supply in the ANS 500 (not 700) may fail to start if too many SCSI devices are added to the system. See Apple's TIL note for a description of the problem and the workaround.


The ANS internal video is a Cirrus Logic video card. It has a Linux framebuffer driver, but that driver is unable to do more than 640x480.

To set up a valid XF86Config file, simply run Xautoconfig.


The ANS has two PCI busses (and two "Bandit" PCI controllers). However, Linux 2.2 only supports one (this is reportedly resolved in 2.4). Place all PCI cards in the top 3 PCI slots - the bottom 3 are ignored.


The ANS comes with 4GB IBM DFHS-S4W hard disks attached to an NCR 53c825a controller (which works with the Linux ncr53c8xx driver). However, the disk drives advertise a SCSI queueing capability that they do not support. One solution is to add the following line to your quik images:



The Battery Ritual

Sometimes in order to boot from a floppy disk you must first clear the PRAM. This is a fairly intensive project that involves disassembling and reassembling your machine. (These directions were copied from from Aaron deMello with slight modifications.)

  1. Shut down and power off the ANS. Unplug the power cable.
  2. Turn the key on the front of the ANS to service mode (it's the wrench icon). Leave it there for the duration of the install. This is a crucial step!
  3. Loosen the four screws on the rear panel of the ANS. Make sure that they are loosened to the point that the screws are dangling in their sockets.
  4. Unlock the back panel and slide out the motherboard chassis (may require a bit of force). Use the handles.
  5. Locate the small red button on the motherboard. Hold down the button with one hand.
  6. While holding down the red button, remove the protective cover on the battery. Pull out the battery.
  7. Release the red button.
  8. Make sure that no cards are plugged into the PCI slots. This includes things like the ANS RAID card and the extra Ethernet cards that many users have.
  9. Wait at least 10-15 minutes.
  10. Hold down red button on motherboard.
  11. Replace battery in its slot. Replace the protective cover.
  12. Release red button.
  13. Lock the rear panel - this is absolutely necessary or the ANS will not boot. If you find that you're applying a lot of pressure to the key and it's not turning, make sure that all the screws are tightened. If you don't feel like tightening the screws, pull out the back chassis and slam it back in. Try the key again. If it doesn't work, repeat. Another possible option is to remove the top of the ANS case which will give you direct access to the motherboard without having to remove the back panel.
  14. Open the sliding front door and eject the internal hard drive(s).

Open Firmware

You can boot a Linux kernel (in .coff format) directly from Open Firmware. This is very useful for initial installation, but after that use of the quik bootloader is encouraged, as it

  • allows you to store kernels on your ext2 (Linux) partition. You cannot do this with Open Firmware, since the ANS Open Firmware understands HFS and FAT, but not ext2.
  • gives you a choice of kernel/argument profiles to boot. In other words, you will be prompted for an 'image' name at boot, which will load a pre-specified kernel using pre-specified boot arguments. You manipulate your quik profiles under Linux with the quik.conf configuration file.

To boot an ANS into Linux, first boot into Open Firmware by holding down the command, option, O, and F keys at boot. You will be presented with black text on a white screen.

Before you can boot from a floppy, you should run

setenv real-mode? false
setenv load-base 10000

To boot from a floppy disk, copy a kernel (named 'vmlinux.coff', for example) to an HFS-formatted floppy. In Open Firmware you will run 'boot fd:vmlinux.coff', supplying any further kernel arguments (like root= on the same line.


Technically, the ANS can be considered an "Old World" Power Macintosh (except without the Mac OS, of course). Therefore, the bootloader you will use is quik. There is (at least ;) one limitation you should be aware of: quik will not function correctly if the kernel is stored at an offset higher than 8 GB into your disk. To prevent this from occuring, ensure that your root partition is 8 GB or less (by mounting other disks at mount points like /usr or /home, for example).

Here is a sample /etc/quik.conf.

init-message="Welcome to Yellow Dog Linux\n"
# timeout is in tenths of seconds


The root partition (where you installed Linux to) is /dev/sda4. Typing 'backup' at the quik prompt will load the kernel '/boot/vmlinux.old' (when compiling a new kernel, always keep your old kernel until you know that it works!).

After modifying your quik.conf, you do not need to re-run quik for your changes to take effect.

After installing quik properly, run setenv boot-device scsi-int/sd@0:X (where X is the partition number of your root partition to set your ANS to boot quik from SCSI ID 0.

One more note about quik: it only understands Apple partition maps (such as those produced by parted mklabel mac). Do not try to use a partition map produced by fdisk, cfdisk, or sfdisk.


These are generic instructions that should work in general (with slight modifications to file names of course).

To install:

Make sure that you create an Apple (rather than DOS) partition map during the partitioning stage.