System Administration Commands rpld(1M)
NAME
rpld - Network Booting RPL (Remote Program Load) Server
SYNOPSIS
/usr/sbin/rpld [-fdDMblgz] interface
/usr/sbin/rpld -a [-fdDMblgz]
DESCRIPTION
The RPL server provides network booting functionality to x86
clients by listening to boot requests from them according to
the RPL protocol specifications. rpld runs on both x86 and
SPARC systems. Boot requests can be generated by clients
using the boot floppy supplied in the distribution. Once the
request has been received, the server validates the client
and adds it to its internal service list. Subsequent
requests from the client to download bootfiles will result
in the sending of data frames from the server to the client
specifying where to load the boot program in memory. When
all the bootfiles have been downloaded, the server specifies
where to start execution to initiate the boot process.
In the first synopsis, the interface parameter names the
network interface upon which rpld is to listen for requests.
For example:
/usr/sbin/rpld /dev/eri0
/usr/sbin/rpld /dev/smc0
In the second synopsis, rpld locates all of the network
interfaces present on the system and starts a daemon process
for each one.
The server starts by reading the default configuration file,
or an alternate configuration file if one is specified. If
no configuration file can be found, internal default values
will be used. Alternatively, command line options are avail-
able to override any of the values in the configuration
file. After the configuration options are set, it then opens
the network interface as specified in the command line and
starts listening to RPL boot requests.
SunOS 5.11 Last change: 2 Dec 2003 1
System Administration Commands rpld(1M)
Network boot clients have to have information pre-configured
on a server for the RPL server to validate and serve them.
This involves putting configuration information in both the
ethers(4) and the bootparams(4) databases. The ethers data-
base contains a translation from the physical node address
to the IP address of the clients and is normally used by the
RARP server. The bootparams database stores all other infor-
mation needed for booting off this client, such as the
number of bootfiles and the file names of the various boot
components. Both databases can be looked up by the RPL
server through NIS. See the sub-section Client Configura-
tion for information on how to set up these databases.
To assist in the administration and maintenance of the net-
work boot activity, there are two run-time signals that the
server will accept to change some run-time parameters and
print out useful status information. See the sub-section
Signals for details.
The RPL server is not limited to the ability to boot only
clients. If properly configured, the server should be able
to download any bootfiles to the clients.
Client Configuration
The following configuration information is specific to boot-
ing x86 clients.
In order to allow clients to boot x86 from across the net-
work, the client's information has to be pre-configured in
two databases: ethers(4) and bootparams(4). Both databases
can be accessed through NIS. Refer to for information on
how to configure a diskless x86 client. The discussion con-
tained in the rest of this section is provided for your
information only and should not be performed manually.
The ethers database contains a translation table to convert
the physical node address to the IP address of the client.
Therefore, an IP address must be assigned to the client (if
this has not been done already), the node address of the
client must be obtained, and then this information needs to
be entered in the ethers database.
The bulk of the configuration is done in the bootparams
database. This is a free-format database that essentially
contains a number of keyword-value string pairs. A number of
keywords have been defined for specific purposes, like the
bootparams RPC in bootparamd(1M). Three more keywords have
SunOS 5.11 Last change: 2 Dec 2003 2
System Administration Commands rpld(1M)
been defined for the RPL server. They are numbootfiles,
bootfile, and bootaddr. All three keywords must be in lower-
case letters with no spaces before or after the equals sym-
bol following the keyword.
numbootfiles Specifies the number of files to be down-
loaded to the network boot client. The for-
mat of this option is:
numbootfiles=n
Always use numbootfiles=3 to boot x86 across
the network.
bootfile Specifies the path name of the bootfile to
be downloaded and where in memory to start
loading the bootfile. A complete path name
should be used. For example, assuming the
client's IP address is 172.16.32.15:
bootfile=/rplboot/172.16.32.15.hw.com:45000
bootfile=/rplboot/172.16.32.15.glue.com:35000
bootfile=/rplboot/172.16.32.15.inetboot=8000
The path name following the equals symbol
specifies the bootfile to be downloaded, and
the hex address following the colon (:) is
the absolute address of the memory location
to start loading that bootfile. These
addresses should be in the range of 7c00 to
a0000 (i.e., the base 640K range excluding
the interrupt vector and BIOS data areas).
Address 45000 for this hw.com bootfile is
also a suggested value and if possible
should not be changed. The address of 35000
for glue.com is a suggested value that, if
possible, should not be changed. The address
of 8000 for inetboot is an absolute require-
ment and should never be changed.
These files, when created following the procedures in the
are actually symbolic links to to the real file to be down-
loaded to the client. hw.com is linked to a special driver
that corresponds to the network interface card of the
client. glue.com and inetboot are generic to all network
boot clients.
SunOS 5.11 Last change: 2 Dec 2003 3
System Administration Commands rpld(1M)
The order of these bootfile lines is not significant, but
because problems have been found with certain boot PROMs, it
is highly recommended that the bootfile lines be ordered in
descending order of the load addresses.
bootaddr The absolute address in memory to start execut-
ing after all the bootfiles have been down-
loaded. This address should always correspond to
the address where glue.com is being loaded. If
possible, always use:
bootaddr=35000
OPTIONS
The following options are supported:
-b backgroundmode Specify 1 to run the server in the
background and relinquish the con-
trolling terminal, or 0 to run in
the foreground without relinquishing
the controlling terminal. This
option corresponds to the BackGround
setting in the configuration file.
If you have specified that the error
or warning messages be sent to stan-
dard output in the configuration
file or by using the -D option
above, the server cannot be run in
background mode. Doing so will cause
the server to exit after announcing
the error.
-d debuglevel Specify a level of 0 if you do not
want any error or warning messages
to be generated, or a level from 1
to 9 for increasing amounts of mes-
sages. This option corresponds to
the DebugLevel setting in the confi-
guration file. The default value is
0. Note that it is best to limit the
level to 8 or below; use of level 9
may generate so many debug messages
that the performance of the RPL
server may be impacted.
-D debugdestination Specify 0 to send error or warning
messages to standard output, 1 to
syslogd, and 2 to the log file. This
option corresponds to the DebugDest
SunOS 5.11 Last change: 2 Dec 2003 4
System Administration Commands rpld(1M)
setting in the configuration file.
The default value is 2.
-f configfilename Use this to specify a configuration
file name other than the system
default /etc/rpld.conf file.
-g delaygranularity This corresponds to the DelayGran
setting in the configuration file.
If retransmission requests from
clients do occur, the delay granu-
larity factor will be used to adjust
the delay count for this client
upwards or downwards. If the
retransmission request is caused by
data overrun, the delay count will
be incremented by delay granularity
units to increase the delay between
data frames. If the retransmission
request is caused by sending data
too slowly, this will be used to
adjust the delay count downwards to
shorten the delay. Eventually the
server will settle at the delay
count value that works best with the
speed of the client and no
retransmission request will be
needed. The default value is 2.
-l logfilename Specify an alternate log file name
to hold the error or warning mes-
sages in connection with the -D 2
option or the configuration file
DebugDest = 2 setting. This option
corresponds to the LogFile setting
in the configuration file. The
default is /var/spool/rpld.log.
-M maximumclients Specify the maximum number of simul-
taneous network boot clients to be
served. This option corresponds to
the MaxClients setting in the confi-
guration file. A value of -1 means
unlimited, and the actual number
will depend on available system
resources. The default value is -1.
SunOS 5.11 Last change: 2 Dec 2003 5
System Administration Commands rpld(1M)
-s startdelaycount This option corresponds to the
StartDelay setting in the configura-
tion file. Specify the number of
delay units between outgoing data
frames sent to clients to avoid
retransmission requests from them.
Using the LC type 1 protocol, data
transfer is a one-way, best-effort
delivery mechanism. The server,
without any type of delay mechanism,
can overrun the client by sending
data frames too quickly. Therefore,
a variable delay is built into the
server to limit the speed of sending
data to the clients, thus avoiding
the clients sending back retransmis-
sion requests. This value should be
machine environment specific. If you
have a fast server machine but slow
client machines, you may want to set
a large start delay count. If you
have comparable server and client
machines, the delay count may be set
to 1. The delay is only approximate
and should not be taken as an accu-
rate measure of time. There is no
specific correlation between the
delay unit and the actual time of
delay. The default value is 20.
-z framesize This option corresponds to the
FrameSize setting in the configura-
tion file. This specifies the size
of the data frames used to send data
to the clients. This is limited by
the underlying physical medium. For
ethernet/802.3, the maximum physical
frame size is 1500 octets. The
default value is 1500. Note that the
protocol overhead of LC1 and RPL is
32 octets, resulting in a maximum
data length of 1468 octets.
Signals
The RPL server accepts two signals to change run-time param-
eters and display status information, respectively:
HANGUP This will cause the RPL server to reread the
default configuration file /etc/rpld.conf or an
alternate configuration file if one is specified
SunOS 5.11 Last change: 2 Dec 2003 6
System Administration Commands rpld(1M)
when the server is started. New values of certain
parameters can be used immediately, such as
DebugLevel, DebugDest, LogFile, DelayGran, and
FrameSize. For MaxClients, if the server is
already serving more than the new value, the
server will not accept additional boot requests
until the number has fallen below the MaxClients
parameter. For StartDelay, this will only affect
new boot requests. All the existing delay counts
for the various clients in service will not be
affected. Finally, the BackGround parameter will
have no effect once the server has been running.
You cannot change the mode of service without
first killing the server and then restarting it.
USR1 This signal will cause the server to dump all the
parameter values and the status of each individual
boot client to the destination specified by
DebugDest.
FILES
o /usr/sbin/rpld
o /etc/rpld.conf
o /var/spool/rpld.log
o /etc/ethers
o /etc/bootparams
o /rplboot
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 2 Dec 2003 7
System Administration Commands rpld(1M)
ATRIBUTE TYPE ATRIBUTE VALUE
Architecture x86, SPARC
Availability SUNWbsu
SEE ALSO
bootparamd(1M), in.rarpd(1M), bootparams(4), ethers(4),
nsswitch.conf(4), rpld.conf(4), attributes(5)
SunOS 5.11 Last change: 2 Dec 2003 8
|