How to netboot an SGI Indy
At the time of writing, there are three Debian packages offering TFTP servers. However, for the purposes of netbooting an SGI Indy, it is best to use the tftpd-hpa package. Several users (including myself) have been unsuccessful with either the tftpd or atftpd packages.
Example
The network is 192.168.1.0/255.255.255.0 . The DHCP and TFTP servers are both to be hosted on chupacabras, whose IP is 192.168.1.3 . The Indy is to be given a fixed IP, via DHCP, of 192.168.1.197 . The MAC address of the Indy is 08:00:69:09:b4:26.
Set up the DHCP server. A good package to use is dhcp3-server. Here is the dhcpd.conf I used, with additional comments:
steve@chupacabras:~ cat /etc/dhcp3/dhcpd.conf
# The network
subnet 192.168.1.0 netmask 255.255.255.0 {}
# The Indy to be netboot'ed
host indy {
# MAC address of the Indy
hardware ethernet 08:00:69:09:b4:26;
# IP of the TFTP server, also 192.168.1.3 in this example.
next-server 192.168.1.3;
# IP to be leased to the Indy, for installation purposes.
fixed-address 192.168.1.197;
# The name of the TFTP boot image.
filename "netboot-boot.img";
}Obtain the TFTP boot image according to the instructions in the [http://www.debian.org/releases/stable/mips/ Debian Installation Manual]. The file in this example is called netboot-boot.img.
Put netboot-boot.img in the /tftpboot directory of chupacabras. Make this directory if necessary, and ensure that the file is world-readable.
steve@chupacabras:~ ls -l /tftpboot/ total 4620 -rw-r--r-- 1 root root 4716488 2006-06-10 18:23 netboot-boot.img
Set up the TFTP server. Remember, the tftpd-hpa package is advisable. The command below runs the server in standalone mode (-l option), in contrast to via inetd. Do not have an inetd.conf entry for tftp if you are going to run the TFTP standalone, otherwise port 69/udp will already be bound!
root@chupacabras:/home/steve# in.tftpd -l -s /tftpboot
- Now for an Indy-specific gotcha. An Indy PROM cant cope with neither port numbers greater than 32767 nor path-MTU discovery. The following two commands counteract these respective problems. The Indy will timeout when attempting to obtain the TFTP boot image otherwise.
steve@chupacabras:~ echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range steve@chupacabras:~ echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
chupacabras is thus prepared.
- Power up the Indy, clicking on 'Stop for maintenance' during the boot to go into the Command Monitor. Enter the following commands at the maintenance prompt:
>> unsetenv netaddr >> bootp():
You should see the following lines, together with some numbers and a spinning cursor as the boot image transfers.
Setting $netaddr to 192.168.1.197 (from server ) Obtaining from server.
Thanks to The Fungi, Laurence Darby, Stuart Longland and Thiemo Seufer on the debian-mips mailing list.
