HOWTO SGI 320 setup using ARCLX.exe

Note by Robin H. Johnson <robbat2@gentoo.org>, 2009/Dec/11:
I recovered this content from the Internet Archive, since the new Gentoo Wiki never preserved it. I wrote a lot of the original content on this page, and absolutely everything under "Ongoing Development".

Unfortunetly I no longer have my VisWS320, nor do I have anywhere that I could place a new one. I might make an exception for a rarer 540, just to have a complete Gentoo install again that we can publish for users, but I have no plans beyond that.

From Gentoo Linux Wiki

Jump to: navigation, search
This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc


Contents

[hide]

Introduction

This HOWTO will explain how to install Gentoo Linux on the SGI 320 Visual Workstation. The Visual Workstation series of computers by SGI are Intel based SMP machines that use the ARC boot system. Therefore, normal x86 livecds will not boot on these systems, nor will MIPS livecds work on these systems. This article only covers how to get Gentoo up and running. It does not discuss configuring Xorg or any other applications.


System Requirements

You will need an SGI 320 or a similar SGI x86 based Visual Workstation. Having two hard drives in your visual workstation makes things easier. You will need a CD burner on another computer to burn a custom install disk. The other computer must also have loopback support in the kernel.


Overview

It may be possible to create a Gentoo livecd for the SGI 320, but the author of this article didn't have enough free time to attempt it. Instead he used an indirect approach. He used Slackware 8.0 documentation that he found on the net and installed Slackware on one hard drive, booted into Slackware, grabbed an x86 stage tarball, installed Gentoo on the other harddrive, rebooted, and reformatted the Slackware drive.


Creating the custom Slackware 8.0 Install CD

No distributions have install CDs for SGI 320s, so you have to create your own. These instructions are to be done on your host computer (the one with a CD burner).


Code: Get the Slackware Install CD
  $ wget http://slackware.cs.utah.edu/slackware-8.0-iso/slackware-8.0-install-d1.iso


Code: mount the ISO so that you can access the files on it
  # mount -o loop slackware-8.0-install-d1.iso /mnt/cdrom


Code: Copy the install files to a scratch directory
  $ cp -R /mnt/cdrom/* ~/scratch


Code: Download the entire contents of slackware-8.0/sgiboot to ~/scratch
  $ cd ~/scratch && wget --mirror -np http://slackware.osuosl.org/slackware-8.0/sgiboot/


Code: Burn the contents of ~/scratch to CD
  $ xcdroast


Installing Slackware 8.0

Follow the instructions from the [1] directory of any Slackware mirror.

Upgrading the Kernel

Slackware 8.0 uses a 2.2 kernel which, when you try to chroot to do a Gentoo install, is too old. Therefore, you must upgrade your kernel. Luckily there are precompiled SGI 320 kernels available on the net. Grab one!


Code: Download the kernel binary and boot loader
  $ lynx http://www.leupen.com/~remko/sgi/Tutorials/Linux_install/Linux1.htm


Code: Install the new Kernel and Boot Loader
  $ gunzip vmlinux-vws.gz
  $ gunzip arclx2.exe.gz
  # cp vmlinux-vws arclx2.exe /boot


Code: Reboot and go into the ARC setup menu
  Set the kernel to "vmlinu~1"
  Set the parameters to "root=/dev/sda2 read-only" # or whatever root device you are using


Installing Gentoo

Grab an x86 stage tarball from one of the mirrors and install Gentoo as described in the Gentoo Handbook. You may skip the sections on boot loaders and kernel compilation as you already have them from the last section.


Going Further

leupen.com/~remko/sgi/Tutorials/Linux_install/Linux1.htm is an excellent resource for SGI 320 users.


Ongoing Development

Gentoo Developer [wiki:Robbat2] is working on a new Gentoo-based install procedure for the VisWS hardware, that starts directly with 2.6. Later on, development of a firewire driver or real X driver can be attempted.

New-Style install methods

I'm planning on trying to develop the following install methods:

  1. Netboot
  2. ZIP drive
  3. CDROM

Building Kernels

Our only hope for initial booting is Genkernel-4 and beyond, with an initramfs built into the kernel.

Getting an ARC console

For those familar with the SGI MIPS boxes, they had an easily accessible PROM console (serial and graphics). The same console is available on the VisWS.

  1. Click on "System Utilities"
  2. Select "CDROM" as the source media
  3. enter "Command Monitor" as the command name (2 words, case sensitive)
  4. Run
  • From here you can do a reasonable amount of interesting things.
  • See the Linux/MIPS page on ARC for an introduction.
  • Beware, it is possible to totally destroy your machine from here.
  • So far the serial console seems to work.

Booting

The system boots a 32-bit protected mode Windows executable.

  • To get a binutils for generating this, use USE=multitarget emerge binutils
  • The entrypoint must be named _start.

Useful patents

In trying to figure out all of this, esp. the boot process, I've been searching for all SGI patents about the VisWS and the SGI O2. Partial list: 5408664, 5524245, 5649186, 5768445, 5978887, 6032247, 6049476, 6065084, 6070002, 6078515, 6104415, 6104417, 6128731, 6128775, 6132019, 6181336, 6216174, 6219457, 6226330, 6233647, 6275239, 6331857, 6357003, D429248, D431242

Misc links for development

[2] [3] [4] [5] [6]

Stuff on booting: [7]

Clues exist in the original patch as to the video hardware (CO_APIC_VID*): [8]

Personal tools