|
|
|
|
SGI Indy and Debian Linux
The
Silicon Graphics Indy is a MIPS based machine designed to run
SGI's own Irix but it is also supported by Linux. Some people
would call installing Linux on an SGI machine heresy and indeed
Irix is an excellent OS and I do have another Indy and an Indigo2
running Irix but if a Linux box is what is required, it works.
There
are a few caveats though, graphics are unaccelerated under Linux
and the vino (video in, no out) board and indycam are unsupported
at the moment but as this machine is to be used as a headless
server this doesn't matter.
Installation
can be done via the console or alternatively using a serial
terminal or a computer running a terminal emulator such as minicom.
In order to boot the installation a server running TFTP and
DHCP is also required.
The
terminal should be connected to the Indy's first serial port
and configured as 9600 8N1 with hardware flow control off and
the serial cable is wired as follows:
|
8
Pin
Mini DIN
(SGI)
|
25
Pin
DB25
Plug
|
Name
|
|
4
|
7
|
GND
|
|
5
|
2
|
TD
|
|
3
|
3
|
RD
|
|
1
|
8
|
CD
|
|
7
|
4
|
DTR
|
Step by step guide to installing Linux on
an Indy
This
procedure assumes a hostname of indy, an IP address of 192.168.0.22
and a mac address of 08:00:69:08:e2:0a. Change these to reflect
your system.
- First
in order to get your Indys mac address you should start the
system and press ESC to get to the PROM. Select option 5 and
type:
printenv
The current environment variables will be listed including the
mac address.
- Install
tftp
server on a computer on your network if you do not have
it already
-
Edit
/etc/xinetd.d/tftp so you have the following:
service
tftp
{
socket_type = dgram
wait = yes
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
-
Create
a directory for the boot image
mkdir
/tftpboot
-
-
-
Add
the following to your /etc/dhcpd.conf
host
indy {
hardware ethernet 08:00:69:08:e2:0a;
fixed-address 192.168.0.22;
option host-name "indy";
}
- With
Kernel 2.4 there's a problem with a bug in the Indy's PROM where
tftp doesn't work if the port is above 32768, which is default
with 2.4 but not 2.2. This can be changed with:
echo 2048 32767 > /proc/sys/net/ipv4/ip_local_port_range
- Also
with 2.4 ip_no_pmtu_disc needs to be set with:
echo 1> /proc/sys/net/ipv4/ip_no_pmtu_disc
- Back
to the Indy, in the PROM clear the current stored ip address:
unsetenv netaddr
- If
you are using a serial console set the console to always be
Serial 1:
setenv console d1
- Now
you can boot the debian-installer, debootstrap with:
bootp()tftpboot.img
- Partitioning
SGI machines have two special partitions, Partition 9 is the
"SGI volhdr" and is where the kernel goes, Partition
11 is the "SGI volume" and covers the whole disk.
As the SGI volhdr or volume header is where the kernel will
go so we need to make sure it is big enough, the standard Irix
volume header is only 2Mb which is not enough. I made this partition
74 sectors to err on the side of caution and allow room for
the future.
fdisk
will automatically create partitions 9 and 11 for you but for
some reason I had to create the swap partition first as it would
not let me add another partition after the root even though
there was room. I then deleted automatically generated partitions
9 & 11 and created my root partition. The volhdr partition
was again recreated automatically but at too small a size so
I deleted it and manually created it to fill up the first 74
sectors.
My partition table ended up looking like this:
Disk /dev/sda (SGI disk label): 4 heads, 108 sectors, 4792 cylinders
Units = cylinders of 432 * 512 bytes
----- partitions -----
Pt# Device Info Start End Sectors Id System
1: /dev/sda1 boot 75 4602 1956096 83 Linux native
2: /dev/sda2 swap 4603 4791 81648 82 Linux swap
9: /dev/sda3 0 74 32400 0 SGI volhdr
11: /dev/sda4 0 4791 2070144 6 SGI volume
----- Bootinfo -----
Bootfile: /unix
----- Directory Entries -----
0: sgilabel sector 4 size 512
1: sash sector 5 size 140800
2: linux sector 280 size 2031824
- Once
you have written the new partition table to disk you can install
the base system over the network by following the Debian installer
prompts.
- Once
the base system has been installed you will be given instructions
to set the PROM so Linux will load automatically, these are:
setenv OSLoader linux
setenv SystemPartition scsi(0)disk(X)rdisk(0)partition(8)
where
X is the scsi id of the disk you installed to
You
should then set your root partition with:
setenv OSLoadPartition /dev/sda1
where
/dev/sda1 is the disk you installed to
- Once
the system has rebooted you will be asked to a few questions
and the installation will complete.
- That's
it, have fun!
|