This document will describe how to setup a network booting environment for a Sun Microsystems SPARC or UltraSPARC based computer. The document assumes that you have an existing Gentoo Linux computer available to act as the netboot server.
Both the netboot server and netboot client will need to be on the same network subnet, as the ARP protocol is typically not forwarded across different network subnets.
A generic overview of what happens during the netboot process is as follows;
Based on this overview, we will need to install software for a reverse ARP daemon and a TFTP daemon.
A reverse ARP daemon is already installed on your system; it's part of the
Setting up common rarpd elements:
You will need to setup the
The format of
08:00:20:77:1f:3e sparc-netboot.gentoo.org
If you desire to add additional hosts to
Resolving hostnames:
Since each entry in
An
10.0.1.15 sparc-netboot.gentoo.org
If you use a nameserver, then the DNS server administrator will need to add a record for the hostname, in our example sparc-netboot.gentoo.org, to point to the appropriate IP address. Please consult your DNS server administrator and/or the documentation for the DNS server's DNS software for how to add the entry.
Setting up rarpd
First, we will need to determine the options to use for
/usr/sbin/rarpd -v -e eth0
An explanation of the above
For more options, consult
Here there are two options for a TFTP daemon,
Setting up common tftpd elements
Each TFTP daemon will need a directory from which to serve files to tftp
clients. The directory we will use for this howto will be
If the directory you have chosen does not currently exist, it will need to be
created with the
# /bin/mkdir /tftpboot
Then we will need to change the owner of
# chown nobody:nobody /tftpboot
First, install the
# emerge atftp
After the
Below is an example entry for
/usr/sbin/in.tftpd -v --daemon /tftpboot
An explanation of the above options (as taken from the man page);
For more options, consult
First, install the
# emerge tftp-hpa
INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s -v -l ${INTFTPD_PATH}"
The TFTP daemon can then be started via the
# /etc/init.d/in.tftpd start
For more options, consult
Make sure you have an image you want to use for netbooting. Please check your
Once you have an image, copy the image into
# cp gentoo-sparc64-20100128.tftpboot /tftpboot # chmod 644 /tftpboot/gentoo-sparc64-20100128.tftpboot
Now, when the netboot client makes a TFTP request, it looks for a file that is
the hexadecimal number of its current IP address, and on some platforms an
So for our example IP address, 10.0.1.15, let's look at its hexadecimal equivalent:
# printf "%.2X%.2X%.2X%.2X\n" 10 0 1 15
decimal 10 0 1 15 hexadecimal 0A 00 01 0F
So for the example netboot client, it would look for a file named
Iif you are really, really lazy (like me), you can netboot the host to get the filename the client is looking for from the netboot server logs.
Make sure that both the
The client will appear to hang after the boot net command is issued. Then on
the netboot server, check the system logs for an entry for
An example entry from a netboot server running
Jan 3 22:48:59 stargazer in.tftpd[8368]: RRQ from 10.0.1.15 filename 0A00010F
The filename is shown above after "filename" in the log entry, which in this
case is
As a way to keep track of what netboot image you are using, and to allow
multiple machines to use the same netboot image, you can use a soft link to
create the file with the hexadecimal value. To create this using our sample
sparc64 host and the
# /bin/ln -s /tftpboot/gentoo-sparc64-20100128.tftpboot \ /tftpboot/0A00010F
Now everything should be set for netbooting!
From OpenBoot PROM (OBP) on the SPARC, enter the command;
ok boot net
Other methods for certain machines are:
ok boot net-tpe
This will initiate the networking booting process. A constantly changing string of hexadecimal digits should appear. When the image has finished loading, the kernel will take over and start the OS booting process. In the case of our sparc64 install image, you will be left at a shell prompt from which you can begin the install process.
Building the prerequisite software
If the netboot server is a Gentoo Linux system and experiences problems after
installing the rarpd and tftpd packages, please search the
I've issued the boot net command but it appears to hang.
This is presumably because the file your system is trying to load from the tftpboot server is not available. On a SPARC system, you would probably see the following:
Rebooting with command: boot Boot device: net File and args:
Double check that the file the client needs does exist in
I'm trying to netboot, but all I see are "Timeout waiting for ARP/RARP packet" messages.
This could be due to a few different problems;
To change the value of tpe-link-test? from an OBP prompt, issue the following command:
ok setenv tpe-link-test? true tpe-link-test? = true
This shows the value of tpe-link-test? is now true. Try netbooting the client again.