version 1.25

Installing Linux on an SGI Visual Workstation

By Florian Boor

The following tutorial outlines a technique for installing Linux on a Silicon Graphics 320/540 Visual Workstation. A standard install procedure for common Linux distributions will not work with these workstations because unlike traditional BIOS reliant PCs, the VWS uses ARC firmware which initiates a bootloader executable from a small FAT partition.

Support for VWS dates all the way back to 2.5.63. Even though this document uses Andrey Panin's heavily adapted port, most of the procedures described here will work with older kernels. The old tutorial for installing Linux on VWS using floppy disks will not work with new kernels because the latest kernels will not fit on a floppy.

What works

Linux support is not perfect for the VWS, the main problem being the lack of information from SGI for their proprietary architecture. This is necessary for full Linux support. Currently most of the hardware has basic functionality and existing development kernels are quite stable. The following parts work:

  • Base hardware (CPU including SMP, memory, PCI)
  • Graphics subsystem (Cobalt) including digital output, but not accelerated.
  • Serial and parallel ports
  • IDE controller
  • Qlogic 1080 SCSI controller
  • USB Keyboard/Mouse - additional units work intermittently
  • Audio interfaces
  • Ethernet

What does not work

  • Video I/O
  • IEEE1394 controller
  • Accelerated X

If the right kernel is used without interfering with some of the more proprietary hardware, a stable, fully multiprocessing workstation can be set up. This comes complete with an excellent sound system as well as the optional SGI 1600SW flat panel display.


Apart from the VWS you will also need a standard PC for basic Linux installation, including any disk interfaces used to control the drive. In this example we use a SCSI controller which was an option on some of the workstations. The following files will need to be created/obtained before the installation:

Filename Link Notes
Kernel binary  
Framebuffer config Configuration file for Linux framebuffer
XFree config Configuration file for XFree86 Window System v4.x
Bootloader Suitable for 2.5.x/2.6.0 testX
* ARC bootloader  
* Kernel config  
* Kernel patch Detects 1600SW and other framebuffer driver

* Optional. For advanced users only