this is obsolete doc -- see http://doc.nethence.com/ instead
NetBSD/sparc network boot
Introduction
Installation server here is a NetBSD/i386 6.1 system with two network interfaces:
- fxp0 which is connected to the local network,
- rtk0 which serves the installation service for many hardware plateforms. I use a cross-over network cable against each machine I need to bootstrap.
Say you've got a Sparcstation 5 with ethernet address cc:cc:cc:cc:cc:cc, and you want to assign the IP address 10.1.1.9 to it during the installation.
Using GNU screen is a good option to consider:
- one windows for rarp daemon debug output,
- one windows for system logs,
- one window for other configurations.
Setting up the RARP daemon
Configure RARP daemon on the install server (use a separate window to let it live),
cd /etc/
echo "cc:cc:cc:cc:cc:cc 10.1.1.9" > ethers
rarpd -d rtk0
Note. -a to listen on all interfaces.
Note. -d for debug mode, let you see what MAC addresses are asking for answers.
Setting up the TFTP service
Make sure tftp is configured to serve '/tftpboot' specificly (-s /tftpboot),
grep ^tftp /etc/inetd.conf
and make sure it is running,
ps aux | grep inetd
Calculate the HEX code for that target IP address you want to assign the the host system,
bc
obase=16
10
1
1
9
quit
==> 0A010109 (don't forget to add a zero if you only got one alphanumeric char for the hex bit)
Fetch the boot code from your NetBSD FTP mirror,
cd /tftpboot/
ftp -a ftp.free.fr/mirrors/ftp.netbsd.org/NetBSD-6.1/sparc/installation/netboot/boot.net
mv boot.net netbsd61sparc.boot.net
ln -s netbsd61sparc.boot.net 0A010109.SUN4M
Setting up the DHCP daemon
Make sure you've got those in your dhcpd.conf,
host sparcstation5 {
hardware ethernet cc:cc:cc:cc:cc:cc;
fixed-address 10.1.1.9;
next-server 10.1.1.254;
option root-path "/var/data/sparc";
}
note. Change the MAC address accordingly.
and make sure it is running,
ps aux | grep dhcpd
Setting up the NFS daemons
Proceed e.g.,
cd /etc/
cat >> rc.conf <<EOF9
rpcbind=yes
mountd=yes
nfs_server=yes
lockd=yes
statd=yes
nfs_client=yes
EOF9
cat >> exports <<EOF9
/var/data -ro -mapall=nobody -alldirs
EOF9
Preparing the kernel and installation root file system
Proceed e.g.,
cd /var/data/
mkdir -p sparc/
cd sparc/
ftp -a ftp://ftp.free.fr/mirrors/ftp.netbsd.org/NetBSD-6.1/sparc/binary/kernel/netbsd-GENERIC.gz
ftp -a ftp://ftp.free.fr/mirrors/ftp.netbsd.org/NetBSD-6.1/sparc/installation/netboot/rootfs.tgz
tar xzpf rootfs.tgz
ln -s netbsd-GENERIC.gz netbsd.gz
Note. don't forget the 'p' option with tar!
Last checks
Check again that all the needed network services are up and running,
/etc/rc.d/inetd restart
/etc/rc.d/dhcpd restart
ps aux | grep rarpd
ps aux | grep inetd
ps aux | grep dhcpd
and in another window,
pkill rarpd
rarpd -d rtk0
Ready to go
On the ok prompt,
set-defaults
setenv auto-boot? false
reset
back to the ok prompt,
boot net
Note. don't forget to read the logs on the install server at the same time.
Troubleshooting
If nothing happens on the install server in the RARPD windows, aswell as on the sparc client, nothing but an RARP reply, don't forget to read the logs to check if the file name has the right HEX naming.
If you get,
Can't open NFS network connection on ...
Cannot load netbsd: error=13
check that root-path option in dhcpd.conf points to the prepared root file system folder on the NFS share (alldirs if it's a subdir).
References
NetBSD/sparc
http://www.netbsd.org/ports/sparc/
Installing NetBSD by using a netboot setup
ftp://ftp.free.fr/mirrors/ftp.netbsd.org/NetBSD-6.1/sparc/INSTALL.html#Installing%20NetBSD%20by%20using%20a%20netboot%20setup
Introduction (sparc- and sun3-specific), Diskless NetBSD HOW-TO
http://www.netbsd.org/docs/network/netboot/intro.sun.html#naming
How to netboot and install NetBSD/sparc
http://www.ogris.de/howtos/netbsd-sparc-install.html
Installazione di NetBSD su una Sun SparcStation 1 via rete
http://www.retrocomputing.net/parts/sun/sparc1/netBSD/installazione_net.htm
Installing NetBSD via netboot on a Sparcstation 5
http://www.neuronenwerk.de/files/NetBSD_on_Sparcstation5.pdf