HOWTO SGI 320 setup using ARCLX.exe
Note by Robin H. Johnson <email@example.com>, 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
|Installation • Kernel & Hardware • Networks • Portage • Software • System • X Server • Gaming • Non-x86 • Emulators • Misc|
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.
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.
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|
Installing Slackware 8.0
Follow the instructions from the  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
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.
leupen.com/~remko/sgi/Tutorials/Linux_install/Linux1.htm is an excellent resource for SGI 320 users.
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:
- ZIP drive
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.
- Click on "System Utilities"
- Select "CDROM" as the source media
- enter "Command Monitor" as the command name (2 words, case sensitive)
- 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.
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.
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
Stuff on booting: 
Clues exist in the original patch as to the video hardware (CO_APIC_VID*):