1
1
<!-- retain these comments for translator revision tracking -->
2
<!-- original version: 31138 untranslated -->
2
<!-- original version: 44002 untranslated -->
4
4
<sect1 condition="supports-tftp" id="install-tftp">
5
5
<title>Preparing Files for TFTP Net Booting</title>
16
You need to setup a TFTP server, and for many machines, a BOOTP server
17
<phrase condition="supports-rarp">, or RARP server</phrase>
18
<phrase condition="supports-dhcp">, or DHCP server</phrase>.
16
You need to setup a TFTP server, and for many machines a DHCP
17
server<phrase condition="supports-rarp">, or RARP
18
server</phrase><phrase condition="supports-bootp">, or BOOTP
22
23
<phrase condition="supports-rarp">The Reverse Address Resolution Protocol (RARP) is
23
24
one way to tell your client what IP address to use for itself. Another
24
way is to use the BOOTP protocol. </phrase>
25
way is to use the BOOTP protocol.</phrase>
26
27
<phrase condition="supports-bootp">BOOTP is an IP protocol that
27
28
informs a computer of its IP address and where on the network to obtain
28
a boot image. </phrase>
30
<phrase arch="m68k"> Yet another alternative exists on VMEbus
31
systems: the IP address can be manually configured in boot ROM. </phrase>
33
<phrase condition="supports-dhcp">The DHCP (Dynamic Host Configuration
34
Protocol) is a more flexible, backwards-compatible extension of BOOTP.
35
Some systems can only be configured via DHCP. </phrase>
29
a boot image.</phrase>
31
<phrase arch="m68k">Yet another alternative exists on VMEbus
32
systems: the IP address can be manually configured in boot ROM.</phrase>
34
The DHCP (Dynamic Host Configuration Protocol) is a more flexible,
35
backwards-compatible extension of BOOTP.
36
Some systems can only be configured via DHCP.
37
38
</para><para arch="powerpc">
70
71
this section, we shall provide commands for SunOS 4.x, SunOS 5.x
71
72
(a.k.a. Solaris), and GNU/Linux.
73
<note arch="i386"><para>
74
<note arch="x86"><para>
75
76
To use the Pre-boot Execution Environment (PXE) method of TFTP
76
77
booting, you will need a TFTP server with <userinput>tsize</userinput>
101
102
Debian packages will in general set this up correctly by default when they
106
Look in that file and remember the directory which is used as the
107
argument of <command>in.tftpd</command>; you'll need that below. The
108
<userinput>-l</userinput> argument enables some versions of
108
Historically, TFTP servers used <filename>/tftpboot</filename> as directory
109
to serve images from. However, &debian; packages may use other directories
110
to comply with the <ulink url="&url-fhs-home;">Filesystem Hierarchy
111
Standard</ulink>. For example, <classname>tftpd-hpa</classname> by default
112
uses <filename>/var/lib/tftpboot</filename>. You may have to adjust the
113
configuration examples in this section accordingly.
118
Look in <filename>/etc/inetd.conf</filename> and remember the directory which
119
is used as the argument of <command>in.tftpd</command><footnote>
122
The <userinput>-l</userinput> argument enables some versions of
109
123
<command>in.tftpd</command> to log all requests to the system logs;
110
this is useful for diagnosing boot errors. If you've had to change
111
<filename>/etc/inetd.conf</filename>, you'll have to notify the
112
running <command>inetd</command> process that the file has changed.
113
On a Debian machine, run <userinput>/etc/init.d/inetd
114
reload</userinput>; on other machines,
115
find out the process ID for <command>inetd</command>, and run
124
this is useful for diagnosing boot errors.
127
</footnote>; you'll need that below.
128
If you've had to change <filename>/etc/inetd.conf</filename>, you'll have to
129
notify the running <command>inetd</command> process that the file has changed.
130
On a Debian machine, run <userinput>/etc/init.d/inetd reload</userinput>; on
131
other machines, find out the process ID for <command>inetd</command>, and run
116
132
<userinput>kill -HUP <replaceable>inetd-pid</replaceable></userinput>.
118
134
</para><para arch="mips">
125
141
# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
126
142
</screen></informalexample>
128
to turn off Path MTU discovery, otherwise the Indy's PROM can't
144
to turn off Path MTU discovery, otherwise the SGI's PROM can't
129
145
download the kernel. Furthermore, make sure TFTP packets are sent from
130
146
a source port no greater than 32767, or the download will stall after
131
147
the first packet. Again, it's Linux 2.4.X tripping this bug in the
147
163
Next, place the TFTP boot image you need, as found in
148
164
<xref linkend="where-files"/>, in the <command>tftpd</command>
149
boot image directory. Generally, this directory will be
150
<filename>/tftpboot</filename>. You'll have to make a link from that
165
boot image directory. You may have to make a link from that
151
166
file to the file which <command>tftpd</command> will use for booting a
152
167
particular client. Unfortunately, the file name is determined by the
153
168
TFTP client, and there are no strong standards.
161
176
<filename>yaboot-netboot.conf</filename>. Just rename this to
162
177
<filename>yaboot.conf</filename> in the TFTP directory.
164
</para><para arch="i386">
179
</para><para arch="x86">
166
181
For PXE booting, everything you should need is set up in the
167
182
<filename>netboot/netboot.tar.gz</filename> tarball. Simply extract this
168
183
tarball into the <command>tftpd</command> boot image directory. Make sure
169
your dhcp server is configured to pass <filename>/pxelinux.0</filename>
184
your dhcp server is configured to pass <filename>pxelinux.0</filename>
170
185
to <command>tftpd</command> as the filename to boot.
172
187
</para><para arch="ia64">
187
202
For DECstations, there are tftpimage files for each subarchitecture,
188
203
which contain both kernel and installer in one file. The naming
189
convention is <replaceable>subarchitecture</replaceable>/netboot-boot.img.
205
<filename><replaceable>subarchitecture</replaceable>/netboot-boot.img</filename>.
190
206
Copy the tftpimage file you would like to use to
191
207
<userinput>/tftpboot/tftpboot.img</userinput> if you work with the
192
208
example BOOTP/DHCP setups described above.
262
278
<title>SPARC TFTP Booting</title>
265
SPARC architectures for instance use the subarchitecture names, such
266
as <quote>SUN4M</quote> or <quote>SUN4C</quote>; in some cases, the
267
architecture is left blank, so the file the client looks for is just
268
<filename>client-ip-in-hex</filename>. Thus, if your system
269
subarchitecture is a SUN4C, and its IP is 192.168.1.3, the filename
270
would be <filename>C0A80103.SUN4C</filename>. An easy way to determine
271
this is to enter the following command in a shell (assuming the
272
machine's intended IP is 10.0.0.4).
281
Some SPARC architectures add the subarchitecture names, such as
282
<quote>SUN4M</quote> or <quote>SUN4C</quote>, to the filename. Thus,
283
if your system's subarchitecture is a SUN4C, and its IP is 192.168.1.3,
284
the filename would be <filename>C0A80103.SUN4C</filename>. However,
285
there are also subarchitectures where the file the client looks for is
286
just <filename>client-ip-in-hex</filename>. An easy way to determine the
287
hexadecimal code for the IP address is to enter the following command
288
in a shell (assuming the machine's intended IP is 10.0.0.4).
274
290
<informalexample><screen>
275
291
$ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4
276
292
</screen></informalexample>
278
This will spit out the IP in hexadecimal; to get to the correct
279
filename, you will need to change all letters to uppercase and
280
if necessary append the subarchitecture name.
294
To get to the correct filename, you will need to change all letters to
295
uppercase and if necessary append the subarchitecture name.
299
If you've done all this correctly, giving the command <userinput>boot
300
net</userinput> from the OpenPROM should load the image. If the image
301
cannot be found, try checking the logs on your tftp server to see which
302
image name is being requested.
310
332
<sect3 arch="mips">
311
<title>SGI Indys TFTP Booting</title>
333
<title>SGI TFTP Booting</title>
314
On SGI Indys you can rely on the <command>bootpd</command> to supply
336
On SGI machines you can rely on the <command>bootpd</command> to supply
315
337
the name of the TFTP file. It is given either as the
316
338
<userinput>bf=</userinput> in <filename>/etc/bootptab</filename> or as
317
339
the <userinput>filename=</userinput> option in
323
345
<sect3 arch="mips">
324
<title>Broadcom BCM91250A TFTP Booting</title>
346
<title>Broadcom BCM91250A and BCM91480B TFTP Booting</title>
327
349
You don't have to configure DHCP in a special way because you'll pass the
328
full path of the file to the loaded to CFE.
350
full path of the file to be loaded to CFE.