summaryrefslogtreecommitdiff
path: root/en/install-methods/tftp/bootp.xml
blob: 3c8f65c74011170374fce3bb4cf8df39b50b1824 (plain)
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
68
69
70
71
72
73
<!-- 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>dhcp3-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.

<phrase arch="mips">
On SGI machines you can just enter the command monitor and type
<userinput>printenv</userinput>.  The value of the
<userinput>eaddr</userinput> variable is the machine's MAC address.
</phrase>

</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/dhcp3/dhcpd.conf</filename>, and restart
<command>dhcpd</command> with <userinput>/etc/init.d/dhcp3-server
restart</userinput>.

</para>
  </sect2>