Remotely installing SGI IRIX 6.5
from a GNU/Linux install server
Last update: Dec 2011 // Previous updates: Apr 2009, Feb 2008 // First created: Apr 2007
Davor Ocelic, firstname.lastname@example.org, http://techpubs.spinlocksolutions.com/
This is an up-to-date, works-the-first-time guide to
configuring a GNU/Linux machine to become a remote install server for
the Silicon Graphics IRIX 6.5 operating system.
For best results, pay attention to
every step and remark throughout the guide; with GNU/Linux-based Unix
install servers, the devil is all in the details.
To perform an IRIX 6.5 installation on the MIPS client machine, you will need
Silicon Graphics IRIX 6.5
Foundation CDs (2-set) and the IRIX 6.5 "Installation tools and
overlays" (3- or 4-set).
Installation tools and overlays for version 6.5.22 can be downloaded
free registration from SGI
Foundation CDs are not freely downloadable, they need to be obtained
There are no software
packages containing only the Foundation CDs, so if buying from Ebay,
the sale will inevitably contain overlays. However, make sure that the
package on sale is *a full CD set* and not just upgrade (upgrade boxes
contain only the overlays and NO Foundation CDs).
As a general rule of thumb, if the CD set has
less than 5 CDs, it is surely not a full package. (Full package sets
usually contain extra software and demos, and can have 10 or 14 CDs
- paying for Supportfolio software subscription
- searching for
original box packages on Ebay
- buying used hardware with software included
For older SGI Irix workstations, such as Indy, Indigo, Indigo 2 and
O2, Irix releases 6.5.21 or 6.5.22 are best.
IRIX 6.5.22 is the last version that supports these older systems.
Irix releases after 6.5.22 only work on newer workstations: Octane,
Octane 2, Fuel and Tezro.
For buying SGI Irix workstations, browse regional Ebay stores,
Ian Mapleson's site,
Used Unix (3D Systems) and
XS International sales, and
Ebay offerings are cheaper, often multiple times,
in comparison to "commercial" offerings.
For basic desktop play, all workstations,
including old Indys, Indigos and O2 are, surprisingly or not, enough
for normal work.
Octane and newer machines are perfectly fine for all computer use.
More on SGI hardware purchase advice from the irreplaceable
site (look for specific purchase advice pages).
Placing IRIX 6.5 software into a common directory on the Linux
First of all, you need to copy the IRIX installation files onto the
Software from tarballs or CD Roms needs to be placed in a single
installation directory on the Linux server (in this guide, /mnt/6/irix/
will be used as the
All dist/* files from each tarball or CD need to be copied into the
installation directory. In the end, the directory should be full of *.sw, *.sw64, *.src, *.man, *.idb
and similarly-named files. If your CDs or packages do not have the
subdirectory, then the files are probably directly in the parent
directory, so copy those.
Now, how to copy the files?
PC CD drives usually cannot read SGI CD-Roms which are saved in
EFS filesystem and 512-byte block. (Filesystem itself is not the
problem, the block size is). The solution is to dd
CD-Roms verbatim to the disk -
that will give you the .efs image files, then mount them using mount -o loop
and copy files out of
them to the installation directory.
The procedure would be something like this for each CD you have:
dd if=/dev/cdrom of=efs.img # (Don't worry about read errors at the end)
mkdir -p mnt
mount -o loop -t efs efs.img mnt
cp -a mnt/dist/* /mnt/6/irix/ # (Or cp -a mnt/* /mnt/6/irix/ if there is no dist/ subdir in the image)
After the copying, in addition to other files, in the installation
directory you should also have the files named
and the directory miniroot/
. They come from the first
CD of the
overlays - which is also correspondingly named "Installation tools and
overlays". Directory miniroot/
contains kernel files for each of the supported SGI boards, and due to
the way how the clients will retrieve those files, they must be moved
into the main installation directory, like this:
mv miniroot/* .
The name of the SASH shell from above ("sa") might vary, depending on
how old your system or Irix release is; Extension .64
or no extension indicate a
64-bit variant; ARCS
If you will want to re-partition the disk(s) before installation, also
copy the file stand/fx.64
toplevel directory (/mnt/6/irix/
directory and its
files are also found on the first overlay CD.
You will surely want to repartition the disk to change partition types
if you are installing over an old
Irix version that used the EFS filesystem (i.e. Irix 5.x).
If you do not change the old EFS partition type, Irix 6.5 will
honor the EFS setting, and then, during installation, it will
require the EFS packages (which do not exist in your IRIX 6.5 files)
and prevent you from starting the installation.
Understanding the examples
In the config files we're about to show, here's what the IP addresses and hostnames mean:
cyberstation (IP address 192.168.7.2) == GNU/Linux install server
boyd (IP address 192.168.7.9, Hardware address 08 00 98 13 ad f7) ==
GNU/Linux network configuration
To solve any network problems that MIPS PROM might have
when talking to a Linux server,
run the following on the server machine:
echo 1 >
echo "2048 32767" >
Note that the above settings are not retained over a server reboot, so
you'll want to make them permanent by adding them to the system startup
What GNU/Linux software will you need on the server and how to
configure it properly?
Chances are that your GNU/Linux distribution already contains the
appropriate versions of packages.
Here, Debian GNU will be used for
- MaraDNS - DNS server
You need a local DNS server running to solve a ton of
possible and quirky problems. Basically, you will need to tell the
Irix client which DNS server to use, and that server will have to be able to
resolve the hostname of the Linux install server to an IP. MaraDNS is a
quick, file-based DNS server that you can install & configure in 2
minutes. Make sure the version you install is 1.2 or higher if you want
to use my example configs!
- See working example /etc/maradns/mararc
- See working example /etc/maradns/db.spinlock.hr
- As seen, make sure DNS server binds to network IP, and test with
- If you want to be ultra-fast with configuration, wget and run http://hcoop.net/~docelic/vice-setup-maradns
. This script tries to auto-detect values and create config in /etc/maradns/ . The script was
earlier for a different purpose but you see, MaraDNS is quick solution
to every ad-hoc DNS problem.
Note: when configuring the DNS to
resolve your installation server's address, you must use the same hostname that you
see when you type 'hostname' in the server's shell. Technically, DNS
would resolve any name you specify, but bootp (our next point) will
ignore requests for which it thinks are not directed to its own host.
- Bootp server (Homepage: ftp://ftp.ntplx.net/pub/networking/bootp/,
bootps dgram udp wait root
/usr/sbin/bootpd bootpd -i -d 4 -t 120
In the above bootptab line, "boyd" is the Irix client name, ha= is its hardware address (use
"printenv" in PROM and see "eaddr"), dn= is the domain the
machine belongs to, ds= is the name server to use (just to resolve the Linux
install server name, nothing else), and hd= is the path to all Irix files.
You might also need to specify parameter ip=192.168.7.9 (define the client's IP address), although the exact circumstances when that's required have not been determined.
IMPORTANT: In any case, you must use the client host name (and not its IP) as the first
field in /etc/bootptab, and
you must have
the entry for that client's hostname in the install server's /etc/hosts (or configure the install server to use the DNS server which resolves IRIX client hostnames as well).
If you later, during installation, get log reports like "ignoring request
for server... ", it
means you made one or more of the following errors:
- did not use client hostname as the first field in /etc/bootptab
- did not use server hostname in Irix's "remote server: " prompt during
- did not use the exact install server's hostname in DNS config
- Tftp server (Homepage: ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/,
nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /
- Rsh server (Homepage: ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/,
package rsh-redone-server, or rsh-server on older Debians)
stream tcp nowait
root /usr/sbin/tcpd /usr/sbin/in.rshd
cyberstation boyd (these are two
hostnames, and each hostname needs to go in its own line, not in one
line like shown)
- Add user "guest" to the system, and create ~guest/.rhosts with 1-line content:
- Set guest user's shell to
/usr/local/bin/kshwrap, and create that file to contain:
- Chmod the kshwrap script to 755
This is much better solution than having to replace system's /bin/sh
shell with Korn shell, like some other folks have advised. Replacing
/bin/sh with Korn shell makes your system unbootable and causes enough
problems that it's not possible to permanently have it that way.
- Enhanced version of the Korn
Shell (Homepage: http://mirbsd.de/mksh/,
You mush use mksh, other shells won't work.
- Nothing, just install it, and make sure /bin/mksh
is there. (Location isn't fixed, but if you change it, make sure you
adjust my example configs which use it).
Monitoring log files on GNU/Linux install server
Starting installation from IRIX client
- Turn on the machine
- Press ESC on "Starting up the system" to bring up menu
- Go to Prom shell
- bootp():/fx.64 -x (invoke
disk partitioner and partition)
- Go back to main menu, choose "Install system software"
- Choose "Remote directory", put hostname "cyberstation", directory
- When inst starts, make sure it opened the distribution by doing from 192.168.7.2:/mnt/6/irix/
- If you want the generic installation, run keep conflicting and go
- Reboot and you will be in your new shiny IRIX 6.5 installation
I hope this is all. Comments welcome.
Unix-based networks for commercial and education sectors.