1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
<!-- retain these comments for translator revision tracking -->
<!-- $Id$ -->
<sect2 condition="supports-bootp" id="tftp-bootp">
<title>Setting up a BOOTP server</title>
<para>
There are two BOOTP servers available for GNU/Linux. The first is CMU
<command>bootpd</command>. The other is actually a DHCP server: ISC
<command>dhcpd</command>. In &debian-gnu; these are contained in the
<classname>bootp</classname> and <classname>isc-dhcp-server</classname>
packages respectively.
</para><para>
To use CMU <command>bootpd</command>, you must first uncomment (or
add) the relevant line in <filename>/etc/inetd.conf</filename>. On
&debian-gnu;, you can run <userinput>update-inetd --enable
bootps</userinput>, then <userinput>/etc/init.d/inetd
reload</userinput> to do so. Just in case your BOOTP server does not
run &debian;, the line in question should look like:
<informalexample><screen>
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
</screen></informalexample>
Now, you must create an <filename>/etc/bootptab</filename> file. This
has the same sort of familiar and cryptic format as the good old BSD
<filename>printcap</filename>, <filename>termcap</filename>, and
<filename>disktab</filename> files. See the
<filename>bootptab</filename> manual page for more information. For
CMU <command>bootpd</command>, you will need to know the hardware
(MAC) address of the client. Here is an example
<filename>/etc/bootptab</filename>:
<informalexample><screen>
client:\
hd=/tftpboot:\
bf=tftpboot.img:\
ip=192.168.1.90:\
sm=255.255.255.0:\
sa=192.168.1.1:\
ha=0123456789AB:
</screen></informalexample>
You will need to change at least the <quote>ha</quote> option, which
specifies the hardware address of the client. The <quote>bf</quote>
option specifies the file a client should retrieve via TFTP; see
<xref linkend="tftp-images"/> for more details.
</para><para>
By contrast, setting up BOOTP with ISC <command>dhcpd</command> 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 <xref linkend="dhcpd"/>. Otherwise you
will probably be able to get away with simply adding the
<userinput>allow bootp</userinput> directive to the configuration
block for the subnet containing the client in
<filename>/etc/dhcp/dhcpd.conf</filename>, and restart
<command>dhcpd</command> with <userinput>/etc/init.d/isc-dhcp-server
restart</userinput>.
</para>
</sect2>
|