Howto install Debian GNU/Linux on a SGI Indy

This document is outdated, the Debian MIPS team has worked very hard to create "bootfloppies" for the Debian/Mips port
Somebodyelse already created a new howto, therefor there is no need to update this document.

The link to the new howto is on the Debian MIPS port page: http://www.debian.org/ports/mips/

A more up-to-date howto is available at: http://www.pvv.org/~pladsen/Indy/HOWTO.html


Howto install Debian GNU/Linux on a SGI Indy

Staf Wagemakers ( staf at wagemakers.be)

v0.0.3, 18 Jun. 2001


This document describes how you can install the base Debian Gnu/Linux distribution on your Indy.


1. Getting Debian Gnu/Linux

1.1 Get the base distribution

The base distribution is available at ftp://ftp.uni-mainz.de/pub/Linux/debian-local/mips/
Create a /indy on your installation linux box and extract the base.x.x.x.tgz


mkdir /indy
cd /indy
cp /path/base.2_2.2.tgz .
tar xzvf /path/base.2_2.2.tgz

1.2 Get the linux kernel

You need a linux kernel that is compiled for a mips system, a pre-compiled kernel is available at ftp://ftp.rfc822.org/pub/local/debian-mips/kernel/
Extract the kernel tar file to /indy


cd /indy
cp /path/kernel-image-2.4.0-test9-ip22-r4k.tgz .
tar xzvf kernel-image-2.4.0-test9-ip22-r4k.tgz

2. Setup the installation host

2.1 Setup a DHCP server

Install the dhcp server ( just type "apt-get install dhcp" if you are using Debian Gnu/Linux :) )
And edit your dhcp configuration file, below you'll find my modifications


host indy2 {
hardware ethernet 08:00:69:09:25:c9;
fixed-address 192.168.10.3;
option host-name "indy2";
option domain-name-servers 192.168.10.1;
option routers 192.168.10.1;
option root-path "/sgi"
filename "vmlinux-2.4.0-test9.ecoff"
}

And restart the dhcp server ( /etc/init.d/dhcp restart )

If you use a 2.4 kernel on your DHCP server you've to run


echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc

2.2 Setup the tftp service

The indy will download the linux kernel by tftp at the boot time, so we need to export /indy.
Edit /etc/inetd.conf and modify the ftp entry.


tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /indy

and the reload the configuration (killall -1 inetd)

Erich Schubert reported that he had a problem with tftp and the 2.4 kernel series:

With Kernel 2.4 there's a problem with a bug in the Indy's PROM: tftp doesn't work if the Port is above 32768, which is default with 2.4, and wasn't with 2.2.


echo 2048 32767 > /proc/sys/net/ipv4/ip_local_port_range

tells the tftp server to use a port below 32768, which made tftp work for me.

2.3 Setup the nfs-server

We need a nfs root filesystem therefor we need to export /indy by nfs.
Edit /etc/exports


/indy 192.168.10.3(rw)

and run exportfs -va

3 Installation

3.1 boot time

Power on your indy and select "Stop for system maintenance" during the boot phase. Select "Enter command monitor" from the main menu.

I'm not sure this really necessary but it's recommended to set the netaddr system variable to the right ip-address. You can get the current value with the "printenv netaddr" command.


setenv netaddr 192.168.10.3

Other people told me that they had to

unset netaddr

, but this doesn't seems to work on my Indy.

And the boot the linux kernel with the boot command


boot -f bootp()vmlinux-2.4.0-test9.ecoff init=/bin/bash nfsroot=192.168.10.1:/indy

If everything goes right the indy will boot and you'll get a shell prompt

3.2 Partition your hard drive

Attention: you will lose all data on your disk if you follow the next step!

Partition your hd with "fdisk /dev/sda", my partition table looks like this


------- partitions -----
Device Info Start End Sectors Id System
/dev/sda1 boot 101 3000 1924000 83 Linux system
/dev/sda2 swap 3801 4018 113360 82 Linux swap
/dev/sda9 0 100 52520 0 SGI volhdr
/dev/sda11 0 4018 2089880 6 SGI volume

3.3 Install the base fs

Format your root fs mkfs.ext2 /dev/sda1. Mount it to /mnt mount /dev/sda1 /mnt. And extract the base + kernel archive:


cd /mnt
tar xzvf /base.2_2.2.tgz
tar xzvf /kernel-image-2.4.0-test9-ip22-r4k.tgz

Move /sbin/unconfigured.sh to /sbin/unconfigured.sh.org.

3.4 Install the kernel

Install the kernel to your boot disk.


dvhtool -d /dev/sda --unix-to-vh vmlinux-2.4.0-test9.ecoff linux

4. Finish your installation

4.1 Boot from your hd

Reboot your system and go to the "command mode" and type:


linux root=/dev/sda1

The indy will boot from the kernel we've installed and use /dev/sda1 as his root fs.

4.2 Update your configuration

"/" is mounted as read-only in order to modify some configuration files we have to remount it.
Logon to the system and type


mount -o remount,rw /dev/sda1 /

Modify the most important configuration files (/etc/fstab etc) and reboot the Indy.

Have fun...