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 . In that case, 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, and restart dhcpd with /etc/init.d/dhcpd3-server restart.