instl_bootd(1M)
NAME
instl_bootd − boot protocol server for cold-install clients
SYNOPSIS
instl_bootd [-s] [-r reuse-time] [-t timeout] [-d debug-level] [-c command] [-C command] [-P port] [-b boot-file] [instl_boottab]
DESCRIPTION
instl_bootd is a boot protocol daemon that responds to boot requests from clients wishing to install an operating system, using the Internet Boot Protocol (BOOTP) as defined in RFC951 and RFC1048. instl_bootd can respond to clients without the server’s prior knowledge of the client (unlike bootpd which requires a client to be registered with the server prior to a boot request).
When instl_bootd receives a boot request, it allocates an Internet Protocol (IP) address from a list of available addresses held in the file instl_boottab. instl_bootd then responds to the client by returning the IP address and the boot-file.
Options
instl_bootd recognizes the following options and arguments:
-s Allow instl_bootd to run as a stand-alone daemon. This option is used when starting the daemon manually or via a system startup script, but not when starting via inetd (see inetd(1M)). Without this option, instl_bootd expects an open socket associated with the server port as its standard input. With this option, instl_bootd opens the socket itself. Using inetd is the preferred startup method.
-r reuse-time Specify the minimum amount of time (in minutes) that must elapse before an IP address can be reused. The default value for reuse-time is 3 minutes. reuse-time should correspond to the amount of time a client requires to perform the initial phase of bootup (that is, transferring the kernel into memory). Once instl_bootd allocates an IP address to a client, it will not reallocate the same address to a different client for reuse-time minutes. This prevents IP address collision during the client’s boot phase. instl_bootd does not respond to clients (and clients cannot boot) if it cannot successfully allocate an IP address old enough to satisfy the reuse-time requirement. In this case, a diagnostic message is logged to syslogd (see syslogd(1M)). If this condition occurs frequently, adding more IP addresses to instl_boottab might be necessary.
-t timeout Specify how long (in minutes) instl_bootd remains running after responding to a boot request. A timeout value of zero means that instl_bootd will never exit. The default timeout value is 15 minutes. Increasing timeout, (or setting to it zero) prevents instl_bootd from being started and stopped excessively during heavy use. Decreasing timeout is useful if instl_bootd is rarely used, and its resources need to be reclaimed sooner. The -t option has no meaning when used with the -s option.
-d debug-level Specify the detail of messages logged to syslogd (see syslogd(1M)). The default value of zero means that only errors and warnings are logged. Values of 1, 2, or 3 cause increasingly more verbose message logging.
-c command Specify a command to be executed using system (see system(3S)) when instl_bootd responds to a new client’s boot request. Two arguments are passed to command, the LAN card station address, and the IP address allocated to the client.
-C command Like the -c option. Client systems often send multiple boot requests during the boot process. The -c option causes instl_bootd to execute command only the first time it responds to a boot request from a client. The -C option causes instl_bootd to execute command every time it responds to a boot request.
-P port Override the default User Datagram Protocol (UDP) port numbers defined by services(4) for instl_boots and instl_bootc. Default values are 1067 and 1068 respectively. This causes instl_bootd to listen and respond to boot requests on port and port+1. port becomes the server port (instl_boots) and port+1 becomes the client port (instl_bootc). This option is useful if more than one daemon is in use, or if the default ports conflict with another service. Some clients can only specify a limited set of port numbers. When using a non-default port, ensure it is set to a value that can be matched by the client hardware.
-b boot-file Change the boot file path from the default
/usr/lib/sw/hpux.install/uxinstlf.hppa to boot-file. boot-file is a Logical Interchange Format (LIF) volume that the client uses to access other boot utilities (see lif(4), hpux(1M) and isl(1M)). boot-file must be accessible using the tftp service (see tftp(1)).
instl_boottab Use the file instl_boottab instead of the default file /etc/instl_boottab as the source of available IP addresses to allocate to clients. See below for a description of this file.
instl_boottab description
The instl_boottab file contains the list of temporary Internet Protocol (IP) addresses used by clients during the initial phase of their boot process. A permanent IP address for the client is prompted for and used when the boot process is complete, at which time the temporary IP address may be reused to service other boot requests.
The instl_boottab file can contain one or more IP addresses. If it contains no addresses, the server will not accept boot requests.
The following is a sample instl_boottab file:
# This is a comment line
1.23.45.67 # A single entry.
1.23.45.68:::reserve # Reserve when allocated.
1.23.45.69:080009123456:930225100240:reserve # Reserved
1.23.45.70:080009123457:930225111433
Comments are denoted by the # character and can be used anywhere except between fields. Blank lines are also allowed. A template instl_boottab is provided in /etc/instl_boottab and contains a header comment explaining the syntax, and sample entries, which are commented out.
Each non-comment line of the instl_boottab file contains one IP address entry, with the IP address specified in "dot" notation (for example, 12.34.567.89). In addition to the IP address, each entry can contain three additional fields, each separated by the : (colon) character. The additional fields may be empty or absent. All four fields are defined as follows:
Field 1 Defines the IP address of the entry in "dot" notation. This field cannot be empty and it must begin in the first column of the line.
Field 2 Indicates the LAN card station address of the last client to use the entry. It is added automatically by instl_bootd, but can be added manually and is useful when field 4 is set to reserve.
Field 3 Indicates the date and time (in YYMMDDhhmmss format) when the entry was last allocated. This field is updated by instl_bootd.
Field 4 Can be set manually to the keyword reserve, to indicate that the entry may be allocated only to the client with a station address matching field 2. If field 2 is empty, the entry can be allocated to any host, but after allocation, field 2 is updated to indicate the client to which it is allocated. Once field 2 is set, the entry cannot be allocated to any other client.
When instl_bootd receives a boot request, it searches instl_boottab for an IP address issued to the client during a prior boot request. If the search is unsuccessful, instl_bootd searches for the IP address with the oldest time-stamp.
An IP address can be marked with a reserve keyword, which causes instl_bootd to allocate the address to the client specified in field 2. Once a reserve address is allocated to a client, it cannot be allocated to a different client unless instl_boottab is manually edited to change the reserved status.
Once an IP address is allocated to a client, instl_bootd updates fields 2 and 3 of instl_boottab. Field 2 identifies the client by its LAN card station address; field 3 indicates the date and time the allocation occurred.
Since instl_boottab is modified after each boot request and response, the system administrator should move the file to a temporary location while editing it, and then return it to its permanent location when done. All boot requests are denied when the file is in its temporary location. The instl_boottab file is automatically reread after modification.
Multiple instl_bootd processes can share a single instl_boottab file. Appropriate file locking and retry mechanisms are implemented to ensure that this is possible. Even so, each process must have a unique network port number (see -P option).
WARNINGS
If several clients attempt to boot simultaneously, and not enough IP addresses are listed in instl_boottab, some clients may be denied boot services. From the client perspective, it will appear that the instl_bootd services are not working. If this happens, check the syslogd(1M) logfile on the server to verify this condition. Adding more IP addresses to instl_boottab can help avoid this situation.
DEPENDENCIES
HP 9000 systems not supporting BOOTP use rbootd(1M) to provide booting services. rbootd(1M) serves older HP 9000 systems by translating boot packets into BOOTP and forwarding them to the instl_bootd server.
In addition to the services provided by instl_bootd, the tftp service must also be configured on the server system, and boot-file must be accessible through the tftp service (see tftp(1) and tftpd(1M)).
FILES
/etc/instl_boottab default IP address database
/usr/lib/sw/hpux.install/uxinstlf.hppa
default boot-file (LIF volume)
/etc/inetd.conf contains the command line used by inetd(1M) to start instl_bootd.
/etc/services network services port number database
/var/adm/syslog/syslog.log
default location of the syslogd logfile (see syslogd(1M)).
AUTHOR
bootpd was developed by Carnegie Mellon University and Stanford University.
instl_bootd was derived from bootpd by Hewlett-Packard.
SEE ALSO
inetd(1M), services(4), instl_adm(1M), tftp(1), tftpd(1M), syslogd(1M), bootpd(1M).
Installing and Updating HP-UXmanual.
DARPA Internet Request For Comments RFC951, RFC1048.
Hewlett-Packard Company — HP-UX Release 10.20: July 1996