All sparc and sun3 workstations and servers are capable of booting over a network interface. A network boot-strap procedure can be started by entering the appropriate PROM command. The exact format of the PROM command that must be used is dependent on the PROM's version (see below).
There are currently two supported JavaStation models, the JavaStation-1 and the JavaStation-NC. Some JavaStation-1 units have OpenBoot PROM 2, and you should follow the directions below. Some JavaStation-1 and all JavaStation-NC units have Open Firmware. You should read this separate page on Open Firmware-based JavaStation Diskless NetBSD HOW-TO.
sparc64 systems also netboot in a slightly different manner. Go to the page on Open Firmware-based sparc64 Diskless NetBSD HOW-TO.
Determining your ethernet hardware address
When you power on your machine, it will print out its MAC address. If it claims your ethernet address is ff:ff:ff:ff:ff:ff, then your NVRAM battery is dead. See the Sun NVRAM/Hostid FAQ. Your system will not netboot without a working NVRAM.
Obtaining an IP address via RARP
When instructed to boot "over the net", your workstation will first try to acquire an IP address by using the Reverse ARP (or RARP) protocol. Thus you need to run a RARP server somewhere in the same network broadcast domain as your workstation. The ethernet address of the machine (needed when setting up the RARP server) should be displayed in the banner when it is powered on or reset.
Sometimes the arp entry gets corrupt on the rarpd server. If this happens, you may need to run (on the rarpd server):
# arp -s client.test.net CC:CC:CC:CC:CC:CC temp
Note: if the client doesn't detect a rarpd server, it will patiently wait for one and will not display any error messages (as described in the rarpd pages).
Downloading the boot loader
If the RARP phase is completed successfully, the firmware in the workstation expects to be able to download a program via the TFTP protocol. It will do this by setting up a TFTP connection to the server that answered the earlier RARP request, and asking for a file named based on the machine's IP address and architectural class. Sun 3's (verified for 3/50's and 3/60's) may omit the architectural class from the file name.
Naming the boot loader
The netbooting machine will ask via tftp for a file named as follows:
$ bc obase=16 192 C0 168 A8 1 1 10 A quitThus, a sun4c machine or a newer sun3 machine which has been assigned IP address 192.168.1.10, will make an TFTP request for `C0A8010A.SUN4C', while an older sun3 machine with the same IP address will request `C0A8010A'.
Normally, it is arranged on the TFTP server that this file is a symbolic link to an appropriate second-stage boot program, which should of course be located in a place where the TFTP daemon can find it (remember, many TFTP daemons run in a chroot'ed environment). You can find the second-stage boot program in installation/netboot/boot.net (sparc) or installation/netboot/netboot (sun3) in the NetBSD distribution.
Version 1 Openboot firmware
Uses the following syntax to initiate a a boot-strap procedure on a network device:
The complete syntax is:
Version 2 Openboot firmware
Uses a generalized syntax to specify the boot device for use with the `boot' command:
`boot net netbsd-GENERIC.MP.gz -a'
would select the `le' interface located on an "FSBE/S" board in Sbus slot 2; while
selects the on-board network interface in twisted-pair mode.