How to install Debian GNU/Linux on Indy (MIPS)

2007-07-15: Matthew Delacruz let me know the tftpboot.img was missing. Link now points to woody(!) at (But just maybe netboot-boot.img from etch would work as a drop in? Would have to insert filename "/tftpboot/netboot-boot.img"; in /etc/dhcpd.conf I guess.)
2005-05-22: I've got this email from Shaun Prince: "I have tried your excellent how-to, however, failed to install woody on my SGI Indy. I have created a how-to for installing Debian 'sarge' on my Indy. I have it posted here:,36 "
I've got an Indy with Irix installed. I want to delete everything and install Linux.

This is my notes for the process. I've highlighted input, filenames and output.


What you need: the MAC-address of your Indy, a dhcp-server, a tftp-server, the tftpboot.img and Internet access.

The MAC-address of your Indy

Now you will see the MAC-address (eaddr) to insert into the /etc/dhcp.conf below.

The dhcp-server

To make the dhcp-server work you need a kernel with CONFIG_PACKET and CONFIG_FILTER configured in.

The tftp-server

Note: If your tcpd is to restrictive then you have to loosen up /etc/hosts.allow (see man hosts.allow).

The tftpboot.img

Last preparations

The PROM of the Indy don't handle source ports over 32767. So we have to: The same PROM also has problem with MTU discovery. So go on and:


If you: tail /var/log/daemon.log , you should see: tftpd: trying to get file: /tftboot/tftboot.img

Partition your harddisk

I assume that you intend to use the whole disk for Linux.

Make the disklabel

Use fdisk /dev/sda

If entering expert mode doesn't work:

and try again.

Calculate boundaries

Still inside fdisk Then calculate/note:

If we want 50MB for volume header (where the kernels are stored for booting), 128MB for swap and the rest for Linux, then we have:

Start of  volume header= 0
End of volume header:ev= 50 / cs
Start of Linux swap: ss = lc - 128/cs
End of Linux swap: es= lc
Start of Linux native:sn= ev + 1
End of Linux native:en= ss - 1

Make the partitions

Still inside fdisk.

For each dash, "-", hit instead the enter key.

First we delete, d (just to be sure), then we create, n. Let's go.


Disk /dev/sda (SGI disk label): 67 heads, 62 sectors, 1010 cylinders
Units = cylinders of 4154 * 512 bytes

----- partitions -----
Pt# Device Info Start End Sectors Id System
1: /dev/sda1 boot 75 950 3638904 83 Linux native
2: /dev/sda2 swap 951 1009 245086 82 Linux swap
9: /dev/sda3 0 74 311550 0 SGI volhdr
11: /dev/sda4 0 1009 4195540 6 SGI volume
----- Bootinfo -----
Bootfile: /unix
----- Directory Entries -----
0: linux sector 4 size 1867984

Making it boot

In the PROM-monitor:
        setenv OSLoader linux
        setenv SystemPartition scsi(0)disk(1)rdisk(0)partition(8)
        setenv OSLoadPartition /dev/sda1



Snippets of text that may come in handy.


>3) by default devices for bus mice were not created which meant the X
>server would not start.

yes .. that's right .. you have to create /dev/psaux with MAKEDEV ...

(From Jan- Hendrik Palic)

New kernel


dvhtool -d $BOOTDEVICE --unix-to-vh vmlinux $BOOTFILENAME

$BOOTDEVICE is the device, where you wants in copy vmlinux into volume-header, just in time it is /dev/sda

$BOOTFILENAME is the name of the OSLoader (the same Name in setenv OSLoader linux)

(From Jan- Hendrik Palic)
pladsen at