Setting up a BOOTP server
There are two BOOTP servers available for GNU/Linux. The first is CMU
bootpd. The other is actually a DHCP server: ISC
dhcpd. In &debian; these are contained in the
bootp and dhcp3-server
packages respectively.
To use CMU bootpd, you must first uncomment (or
add) the relevant line in /etc/inetd.conf. On
&debian;, you can run update-inetd --enable
bootps, then /etc/init.d/inetd
reload to do so. Just in case your BOOTP server does not
run Debian, the line in question should look like:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Now, you must create an /etc/bootptab file. This
has the same sort of familiar and cryptic format as the good old BSD
printcap, termcap, and
disktab files. See the
bootptab manual page for more information. For
CMU bootpd, you will need to know the hardware
(MAC) address of the client. Here is an example
/etc/bootptab:
client:\
hd=/tftpboot:\
bf=tftpboot.img:\
ip=192.168.1.90:\
sm=255.255.255.0:\
sa=192.168.1.1:\
ha=0123456789AB:
You will need to change at least the ha
option, which
specifies the hardware address of the client. The bf
option specifies the file a client should retrieve via TFTP; see
for more details.
On SGI machines you can just enter the command monitor and type
printenv. The value of the
eaddr variable is the machine's MAC address.
By contrast, setting up BOOTP with ISC dhcpd is
really easy, because it treats BOOTP clients as a moderately special
case of DHCP clients. Some architectures require a complex
configuration for booting clients via BOOTP. If yours is one of
those, read the section . Otherwise you
will probably be able to get away with simply adding the
allow bootp directive to the configuration
block for the subnet containing the client in
/etc/dhcp3/dhcpd.conf, and restart
dhcpd with /etc/init.d/dhcpd3-server
restart.