Theodore Baschak

BOFH. Open Source Guru. Founder/Operator of Hextet Systems, AS395089 and Network Architect for Daemon Defense Systems, AS55101.

NetInstalling OpenBSD on sparc/sparc64

Tue, 01 Feb 2005 11:00:00 -0600 » Networking, Nerd Projects, System Administration

I have had a few friends (who ended up wimping out and installing either via scsi cdrom, or by writing the miniroot.fs to the swap partition) ask how to do a netboot install of OpenBSD on sparc or sparc64 architecture.

First thing’s first

  1. enable the services you will need on your server (OpenBSD will be used for this example). This is actaully quite simple.. make sure the /etc/ethers file exists (we’ll customize it later), as well as the /etc/bootparams file.
  2. in the /etc/ethers file, add the mac address, and the hostname of the machine you want to install (you can get this from the openfirmware boot sequence). My file looks like this:
8:0:20:79:1c:1d ss5
8:0:20:c2:a8:7e netra2
  1. add an entry to /etc/hosts for the machine in question.
  2. create an /etc/bootparams file, this file contains the NFS path that will be mounted as the root filesystem. Mine looks like this:
ss5     root=salamander:/usr/home/ss5/root 
        swap=salamander:/usr/home/ss5/swap
netra2  root=salamander:/usr/home/netra/root 
        swap=salamander:/usr/home/netra/swap
  1. enable the tftp daemon in /etc/inetd.conf (uncomment it)
  2. copy boot.net or ofwboot.net to /tftpboot, you will make a symlink to the file that will be requested in a minute.
  3. prepare the nfs directories:
mkdir -p /home/ss5/root
dd if=/dev/zero of=/home/ss5/swap bs=1k count=16000
cd /home/ss5/root
tar xzpf /path/to/base36.tgz
cp /path/to/bsd.rd .
ln -s bsd.rd bsd
  1. nfs export your directory structure you made
  2. either manually start rarpd and rpc.bootparamd, or just reboot your openbsd server and it will bring up the required services.
  3. now the tricky part, when you “boot net” your sun box, it will request a weirdly named file from the tftp server, and openbsd’s tftp server doesn’t have verbose logging like debians for example, but there is a really easy way to get around that. run tcpdump
# tcpdump -i hme0 port tftp
tcpdump: listening on hme0
05:22:33.667329 netra2.18619 > puffy.perl.cx.tftp:  17 RRQ "0A00013D"

The filename in quotes after RRQ is what you will want to symlink boot.net or ofwboot.net in /tftpboot, so create that symlink, and then you should be able to successfully “boot net” the box and do the install.

I had several sources to write this up:

  • http://legonet.org/~griffin/openbsd/netbooting_ss5.html (now moved to http://johan.fredin.info/openbsd/netbooting_ss5.html)
  • INSTALL.sparc/INSTALL.sparc64
  • diskless(8)
© Theodore Baschak - https://github.com/tbaschak - Powered by Jekyll.
Powered by Les.net.
CiscoDude.net is a personal website. Opinions expressed are not necessarily those of his employer.