ctx->guides->sunsparc

How I installed Debian on a Sun Ultra 10 from the network

First of all, the first thing I tried is to replace the long-dead CD-ROM drive with a newer IDE DVD-RW and install the latest OpenBSD release. This worked as expected. I need, however, to also run Linux on an UltraSPARC processor for development and the choice was Debian stable. The bootable CD installer from Debian always hangs at a seemingly random phase of the package installation process. The system has 256 MB of memory and a 10 GB Western Digital disk. After many tries, and not having identified the problem, I decided to try the network boot installer and see what happens. This also failed, but I will document the process of booting the installer from the network here.

I connected back-to-back the Ultra 10 with my laptop that is running OpenBSD. The laptop will host the boot image on its TFTP server. Downloaded the boot.img for SPARC from the Debian website and put it into my TFTP server root:

# mkdir /tftpboot
# cp boot.img /tftpboot/
# /etc/rc.d/tftpd -f start

Next found out the MAC address the Ultra 10 has (it is written on the top on the OpenBoot initial screen), and configured an IP address mapping for RevARP:

# echo 'de:ad:ba:be:de:ad snoopy' >> /etc/ethers
# echo '192.168.1.2 snoopy' >> /etc/hosts
# ifconfig em0 inet 192.168.1.1
# /etc/rc.d/rarpd -f start

By default the machine will ask for a file named after the hex representation of its IP address:

# echo 192.168.1.2 | awk -F . \
    '{ printf "%02X%02X%02X%02X\n", $1, $2, $3, $4 }'
# cd /tftpboot
# ln -s boot.img C0A80102

Now boot the Ultra 10 and press Stop-A to get to the ok prompt; here type boot net. I also used tcpdump on my wired interface to monitor all requests this whole time, and kept PF disabled while offline. When the installer loaded, I plugged "the other" network cable to do DHCP business as usual.

Installing OpenBSD on a Sun Blade 100 using network boot

In this case again I used my OpenBSD laptop to serve the boot image files. Edit the following configuration files to enable RevARP, BOOTP, and NFS services on the server.

/etc/ethers:

de:ad:ba:be:be:ef blade

/etc/hosts:

192.168.1.3 blade

/etc/bootparams:

blade root=192.168.1.1:/export

/etc/exports:

/export -alldirs -ro -network 192.168.1 -mask 255.255.255.0

Get the bootloader and ramdisk files. Again, create a symlink named after the hex representation of the IP address 192.168.1.3.

# mkdir /tftpboot
# cd /tftpboot
# ftp $MIRROR/OpenBSD/5.4/sparc64/ofwboot.net
# ln -s ofwboot.net C0A80103
# cd /export
# ftp $MIRROR/OpenBSD/5.4/sparc64/bsd.rd

Connect the machines back-to-back and configure the network.

# ifconfig em0 inet 192.168.1.1
# /etc/rc.d/tftpd -f start
# /etc/rc.d/rarpd -f start
# /etc/rc.d/bootparamd -f start
# /etc/rc.d/portmap -f start
# /etc/rc.d/mountd -f start
# /etc/rc.d/nfsd -f start

Boot the client machine and on the ok prompt write boot net bsd.rd. To get to the ok prompt press Stop-A. If you do not have a Sun keyboard press the power button two times while booting OpenBoot.

Get cracking!

lostd@