BOOTSRVD(8N) COMMAND REFERENCE BOOTSRVD(8N)
NAME
bootsrvd - boot server
SYNOPSIS
/etc/bootsrvd [ -f configfile ] [ -i interval ] [ -p port ]
[ -r retries ] [ -t timeout ]
DESCRIPTION
Bootsrvd comprises the server side of the server->remote
``boot from LAN'' function. The server monitors the UDP
boot service port (see services(5n)) for boot request
messages from remote stations and creates a child process to
handle each received request. Each child opens its own UDP
communications channel to the remote station, then
determines if the request is for boot file download or for
service port information. If the request is for download of
a boot file, the child searches the boot server database for
the name of a file associated with the remote station's
Internet address, or for a default boot file associated with
the identification string included in the remote station's
boot request. If an applicable file is found and is
available, it is then transferred to the remote station.
Conversely, if the request is for service port information,
the child determines the port number and protocol for the
requested service and returns this information to the remote
station.
When bootsrvd is invoked, it builds a database of download
files from the information contained in the
``/etc/bootsrv.conf'' configuration file. This file
specifies host-specific download files for remote stations
according to each station's Internet address. Additionally,
this file contains the default download file specifications.
The configuration file is checked periodically to determine
if the information has changed. A check of the
configuration file can be forced by sending a hangup signal
(SIGHUP) to the boot server process.
Each download file is assumed to be an a.out file executable
on the respective remote station. When bootsrvd opens this
file for download, it constructs a load address map from the
information contained in the exec header and symbol table of
the file; hence, the download file should not be stripped.
The server transfers the file using a message format
containing the load address, the byte count, and the data
block. For each block of data, the server sends a download
message, then waits for the remote station to echo the
message. The echoed message is then compared to the
transmitted message to verify a successful transfer. A
limited number of retries are attempted in the event the
Printed 10/17/86 1
BOOTSRVD(8N) COMMAND REFERENCE BOOTSRVD(8N)
remote station does not respond to a message or the echoed
message differs from the transmitted message. If a transfer
ultimately fails, the server closes the connection and the
child process terminates.
The server starts remote execution by transferring a
download message with a byte count of -1.
OPTIONS
-f configfile
Specifies an alternate configuration file. The default
file is ``/etc/bootsrv.conf''.
-i interval
Specifies the number of seconds between configuration
file checks. If interval is 0, then no periodic
checking is performed, and the configuration file is
checked only when the boot server process receives a
hangup signal. The default interval is 60 seconds.
-p port
Specifies an alternate boot service port.
-r retries
Specifies the maximum number of retries per message.
The default is 2.
-t timeout
Specifies the maximum number of seconds to wait for a
response to each message from the remote station. If
timeout is 0, then the boot server process waits forever
for a message response. The default timeout is 5
seconds.
EXAMPLES
The following invocation of bootsrvd specifies a 5 minute
configuration file check interval and a 10 second message
timeout value.
/etc/bootsrvd -i 300 -t 10
FILES
/etc/services This file contains the definition
of the UDP boot service port.
/etc/bootsrv.conf This is the default boot server
configuration file.
/usr/lib/bootsrv This is the directory in which the
boot server builds its database
files. The ``boot_conf'' file in
this directory is a working copy of
Printed 10/17/86 2
BOOTSRVD(8N) COMMAND REFERENCE BOOTSRVD(8N)
the information contained in the
configuration file.
DIAGNOSTICS
Bootsrvd prints error messages to the system log file or a
specified alternate file via syslog(3c).
RETURN VALUE
[0] Bootsrvd is running.
[USAGE] Incorrect command line syntax. Execution
terminated.
[P_ERR] A system error occurred. Execution
terminated. See intro(2) for more
information on system errors.
[NP_ERR] An error occurred that was not a system
error. Execution terminated.
CAVEATS
Since the boot port is privileged, only the super-user may
invoke bootsrvd.
Each download file listed in the configuration file should
be specified with its full pathname. Additionally, since
the load address is derived from the symbol table, the file
should not be stripped. Due to functional requirements, the
download file should be linked without the ``crt0.o''
startup file. (This implies that the download program will
terminate via return rather than exit.) Further, the
download file for the 6130 systems should have a text
segment origin of 8000 (hex) or greater due to the storage
of critical data in low memory. The following Makefile
example illustrates the linking procedure:
ORIGIN = 8000
progname: $(OBJS)
$(LD) -o progname -e _main -T $(ORIGIN) $(OBJS) $(LOADLIBES)
NOTE: The remote station will repeat the ``boot from LAN''
procedure if the download program return value is 0.
SEE ALSO
syslog(3c), udp(4n), a.out(5), bootsrv.conf(5n),
services(5n).
Printed 10/17/86 3
%%index%%
na:72,58;
sy:130,368;
de:498,2737;3379,332;
op:3711,1150;
ex:4861,290;
fi:5151,623;5918,114;
di:6032,253;
rv:6285,547;
ca:6832,1183;
se:8015,211;
%%index%%000000000179