/[d-i]/trunk/manual/en/install-methods/install-tftp.xml
ViewVC logotype

Contents of /trunk/manual/en/install-methods/install-tftp.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 23137 - (show annotations) (download) (as text)
Sat Oct 16 07:08:52 2004 UTC (8 years, 7 months ago) by joshk
Original Path: trunk/installer/doc/manual/en/install-methods/install-tftp.xml
File MIME type: text/xml
File size: 14609 byte(s)
add some hints for finding out hex version of your ip address
1 <!-- retain these comments for translator revision tracking -->
2 <!-- $Id$ -->
3
4 <sect1 condition="supports-tftp" id="install-tftp">
5 <title>Preparing Files for TFTP Net Booting</title>
6 <para>
7
8 If your machine is connected to a local area network, you may be able
9 to boot it over the network from another machine, using TFTP. If you
10 intend to boot the installation system from another machine, the
11 boot files will need to be placed in specific locations on that machine,
12 and the machine configured to support booting of your specific machine.
13
14 </para><para>
15
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>.
19
20 </para><para>
21
22 <phrase condition="supports-rarp">The Reverse Address Resolution Protocol (RARP) is
23 one way to tell your client what IP address to use for itself. Another
24 way is to use the BOOTP protocol. </phrase>
25
26 <phrase condition="supports-bootp">BOOTP is an IP protocol that
27 informs a computer of its IP address and where on the network to obtain
28 a boot image. </phrase>
29
30 <phrase arch="m68k"> Yet another alternative exists on VMEbus
31 systems: the IP address can be manually configured in boot ROM. </phrase>
32
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>
36
37 </para><para arch="powerpc">
38
39 For PowerPC, if you have a NewWorld Power Macintosh machine, it is a
40 good idea to use DHCP instead of BOOTP. Some of the latest machines
41 are unable to boot using BOOTP.
42
43 </para><para arch="alpha">
44
45 Unlike the Open Firmware found on Sparc and PowerPC machines, the SRM
46 console will <emphasis>not</emphasis> use RARP to obtain its IP
47 address, and therefore you must use BOOTP for net booting your Alpha.
48 You can also enter the IP configuration for network interfaces
49 directly in the SRM console.
50
51 <footnote>
52 <para>
53
54 Alpha systems can also be net-booted using the DECNet MOP (Maintenance
55 Operations Protocol), but this is not covered here. Presumably, your
56 local OpenVMS operator will be happy to assist you should you have
57 some burning need to use MOP to boot Linux on your Alpha.
58
59 </para>
60 </footnote></para><para arch="hppa">
61
62 Some older HPPA machines (e.g. 715/75) use RBOOTD rather than BOOTP.
63 An RBOOTD package is available on the parisc-linux web site.
64
65 </para><para>
66
67 The Trivial File Transfer Protocol (TFTP) is used to serve the boot
68 image to the client. Theoretically, any server, on any platform,
69 which implements these protocols, may be used. In the examples in
70 this section, we shall provide commands for SunOS 4.x, SunOS 5.x
71 (a.k.a. Solaris), and GNU/Linux.
72
73 </para>
74
75 &tftp-rarp.xml;
76 &tftp-bootp.xml;
77 &tftp-dhcp.xml;
78
79 <sect2 id="tftpd">
80 <title>Enabling the TFTP Server</title>
81 <para>
82
83 To get the TFTP server ready to go, you should first make sure that
84 <command>tftpd</command> is enabled. This is usually enabled by having
85 something like the following line in <filename>/etc/inetd.conf</filename>:
86
87 <informalexample><screen>
88
89 tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
90
91 </screen></informalexample>
92
93 Debian packages will in general set this up correctly by default when they
94 are installed.
95
96 </para><para>
97
98 Look in that file and remember the directory which is used as the
99 argument of <command>in.tftpd</command>; you'll need that below. The
100 <userinput>-l</userinput> argument enables some versions of
101 <command>in.tftpd</command> to log all requests to the system logs;
102 this is useful for diagnosing boot errors. If you've had to change
103 <filename>/etc/inetd.conf</filename>, you'll have to notify the
104 running <command>inetd</command> process that the file has changed.
105 On a Debian machine, run <userinput>/etc/init.d/inetd
106 reload</userinput>; on other machines,
107 find out the process ID for <command>inetd</command>, and run
108 <userinput>kill -HUP <replaceable>inetd-pid</replaceable></userinput>.
109
110 </para><note arch="i386"><para>
111
112 To use the Pre-boot Execution Environment (PXE) method of TFTP
113 booting, you will need a TFTP server with <userinput>tsize</userinput>
114 support. On a &debian; server, the <classname>atftpd</classname> and
115 <classname>tftpd-hpa</classname> packages qualify; we recommend
116 <classname>tftpd-hpa</classname>.
117
118 </para></note><para arch="mips">
119
120 If you intend to install Debian on an SGI machine and your TFTP server is a
121 GNU/Linux box running Linux 2.4, you'll need to set the following on your
122 server:
123
124 <informalexample><screen>
125
126 echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
127
128 </screen></informalexample>
129
130 to turn off Path MTU discovery, otherwise the Indy's PROM can't
131 download the kernel. Furthermore, make sure TFTP packets are sent from
132 a source port no greater than 32767, or the download will stall after
133 the first packet. Again, it's Linux 2.4.X tripping this bug in the
134 PROM, and you can avoid it by setting
135
136 <informalexample><screen>
137
138 echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range
139
140 </screen></informalexample>
141
142 to adjust the range of source ports the Linux TFTP server uses.
143
144 </para>
145 </sect2>
146
147 <sect2 id="tftp-images">
148 <title>Move TFTP Images Into Place</title>
149 <para>
150
151 Next, place the TFTP boot image you need, as found in
152 <xref linkend="where-files"/>, in the <command>tftpd</command>
153 boot image directory. Generally, this directory will be
154 <filename>/tftpboot</filename>. You'll have to make a link from that
155 file to the file which <command>tftpd</command> will use for booting a
156 particular client. Unfortunately, the file name is determined by the
157 TFTP client, and there are no strong standards.
158
159 </para><para arch="powerpc">
160
161 On NewWorld Power Macintosh machines, you will need to set up the
162 <command>yaboot</command> boot loader as the TFTP boot image.
163 <command>Yaboot</command> will then retrieve the kernel and RAMdisk
164 images via TFTP itself. For net booting, use the
165 <filename>yaboot-netboot.conf</filename>. Just rename this to
166 <filename>yaboot.conf</filename> in the TFTP directory.
167
168 </para><para arch="i386">
169
170 For PXE booting, everything you should need is set up in the
171 <filename>netboot/netboot.tar.gz</filename> tarball. Simply extract this
172 tarball into the <command>tftpd</command> boot image directory. Make sure
173 your dhcp server is configured to pass <filename>/pxelinux.0</filename>
174 to <command>tftpd</command> as the filename to boot.
175
176 </para><para arch="ia64">
177
178 For PXE booting, everything you should need is set up in the
179 <filename>netboot/netboot.tar.gz</filename> tarball. Simply extract this
180 tarball into the <command>tftpd</command> boot image directory. Make sure
181 your dhcp server is configured to pass
182 <filename>/debian-installer/ia64/elilo.efi</filename>
183 to <command>tftpd</command> as the filename to boot.
184
185 </para>
186
187 <sect3 arch="mipsel">
188 <title>DECstation TFTP Images</title>
189 <para>
190
191 For DECstations, there are tftpimage files for each subarchitecture,
192 which contain both kernel and installer in one file. The naming
193 convention is <replaceable>subarchitecture</replaceable>/netboot-boot.img.
194 Copy the tftpimage file you would like to use to
195 <userinput>/tftpboot/tftpboot.img</userinput> if you work with the
196 example BOOTP/DHCP setups described above.
197
198 </para><para>
199
200 The DECstation firmware boots by TFTP with the command <userinput>boot
201 <replaceable>#</replaceable>/tftp</userinput>, where
202 <replaceable>#</replaceable> is the number of the TurboChannel device
203 from which to boot. On most DECstations this is "3". If the
204 BOOTP/DHCP server does not supply the filename or you need to pass
205 additional parameters, they can optionally be appended with the
206 following syntax:
207
208 </para><para>
209
210 <userinput>boot #/tftp/filename param1=value1 param2=value2 ...</userinput>
211
212 </para><para>
213
214 Several DECstation firmware revisions show a problem with regard to
215 net booting: the transfer starts, but after some time it stops with
216 an <computeroutput>a.out err</computeroutput>. This can have several reasons:
217
218 <orderedlist>
219 <listitem><para>
220
221 The firmware does not respond to ARP requests during a TFTP
222 transfer. This leads to an ARP timeout and the transfer stops. The
223 solution is to add the MAC address of the Ethernet card in the
224 DECstation statically to the ARP table of the TFTP server. This is
225 done by running <userinput>arp -s
226 <replaceable>IP-address</replaceable>
227 <replaceable>MAC-address</replaceable></userinput> as root on the
228 machine acting as TFTP server. The MAC-address of the DECstation can
229 be read out by entering <command>cnfg</command> at the DECstation
230 firmware prompt.
231
232 </para></listitem>
233 <listitem><para>
234
235 The firmware has a size limit on the files that can be booted
236 by TFTP.
237
238 </para></listitem>
239 </orderedlist>
240
241 There are also firmware revisions that cannot boot via TFTP at all. An
242 overview about the different firmware revisions can be found at the
243 NetBSD web pages:
244 <ulink url="http://www.netbsd.org/Ports/pmax/board-list.html#proms"></ulink>.
245
246 </para>
247 </sect3>
248
249 <sect3 arch="alpha">
250 <title>Alpha TFTP Booting</title>
251 <para>
252 On Alpha, you must specify the filename (as a relative path to the
253 boot image directory) using the <userinput>-file</userinput> argument
254 to the SRM <userinput>boot</userinput> command, or by setting the
255 <userinput>BOOT_FILE</userinput> environment variable. Alternatively,
256 the filename can be given via BOOTP (in ISC <command>dhcpd</command>,
257 use the <userinput>filename</userinput> directive). Unlike Open
258 Firmware, there is <emphasis>no default filename</emphasis> on SRM, so
259 you <emphasis>must</emphasis> specify a filename by either one of
260 these methods.
261
262 </para>
263 </sect3>
264
265 <sect3 arch="sparc">
266 <title>SPARC TFTP Booting</title>
267 <para>
268
269 SPARC architectures for instance use the subarchitecture names, such
270 as ``SUN4M'' or ``SUN4C''; in some cases, the architecture is left
271 blank, so the file the client looks for is just
272 <filename>client-ip-in-hex</filename>. Thus, if your system
273 subarchitecture is a SUN4C, and its IP is 192.168.1.3, the filename
274 would be <filename>C0A80103.SUN4C</filename>. An easy way to determine
275 this is to pull up a shell on another Unix machine and:
276
277 </para><para>
278 <userinput>printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4</userinput>
279 </para><para>
280
281 if the machine's intended IP is 10.0.0.4. This will spit out the IP in
282 hexadecimal; you will need to change all letters to uppercase and append
283 the subarchitecture name if necessary, to get to the correct filename.
284
285 </para><para>
286
287 You can also force some sparc systems to look for a specific file name
288 by adding it to the end of the OpenPROM boot command, such as
289 <userinput>boot net my-sparc.image</userinput>. This must still reside
290 in the directory that the TFTP server looks in.
291
292 </para>
293 </sect3>
294
295 <sect3 arch="m68k">
296 <title>BVM/Motorola TFTP Booting</title>
297 <para>
298
299 For BVM and Motorola VMEbus systems copy the files
300 &bvme6000-tftp-files; to <filename>/tftpboot/</filename>.
301
302 </para><para>
303
304 Next, configure your boot ROMs or BOOTP server to initially load the
305 <filename>tftplilo.bvme</filename> or
306 <filename>tftplilo.mvme</filename> files from the TFTP server. Refer
307 to the <filename>tftplilo.txt</filename> file for your subarchitecture
308 for additional system-specific configuration information.
309
310 </para>
311 </sect3>
312
313 <sect3 arch="mips">
314 <title>SGI Indys TFTP Booting</title>
315 <para>
316
317 On SGI Indys you can rely on the <command>bootpd</command> to supply
318 the name of the TFTP file. It is given either as the
319 <userinput>bf=</userinput> in <filename>/etc/bootptab</filename> or as
320 the <userinput>filename=</userinput> option in
321 <filename>/etc/dhcpd.conf</filename>.
322
323 </para>
324 </sect3>
325
326 <sect3 arch="mips">
327 <title>Broadcom BCM91250A TFTP Booting</title>
328 <para>
329
330 You don't have to configure DHCP in a special way because you'll pass the
331 full path of the file to the loaded to CFE.
332
333 </para>
334 </sect3>
335
336 </sect2>
337
338 <!-- FIXME: commented out since it seems too old to be usable and a current
339 way is not known
340
341 <sect2 id="tftp-low-memory">
342 <title>TFTP Installation for Low-Memory Systems</title>
343 <para>
344
345 On some systems, the standard installation RAMdisk, combined with the
346 memory requirements of the TFTP boot image, cannot fit in memory. In
347 this case, you can still install using TFTP, you'll just have to go
348 through the additional step of NFS mounting your root directory over
349 the network as well. This type of setup is also appropriate for
350 diskless or dataless clients.
351
352 </para><para>
353
354 First, follow all the steps above in <xref linkend="install-tftp"/>.
355
356 <orderedlist>
357 <listitem><para>
358
359 Copy the Linux kernel image on your TFTP server using the
360 <userinput>a.out</userinput> image for the architecture you are
361 booting.
362
363 </para></listitem>
364 <listitem><para>
365
366 Untar the root archive on your NFS server (can be the same system as
367 your TFTP server):
368
369 <informalexample><screen>
370
371 # cd /tftpboot
372 # tar xvzf root.tar.gz
373
374 </screen></informalexample>
375
376 Be sure to use the GNU <command>tar</command> (other tar programs, like the
377 SunOS one, badly handle devices as plain files).
378
379 </para></listitem>
380 <listitem><para>
381
382 Export your <filename>/tftpboot/debian-sparc-root</filename> directory
383 with root access to your client. E.g., add the following line to
384 <filename>/etc/exports</filename> (GNU/Linux syntax, should be similar
385 for SunOS):
386
387 <informalexample><screen>
388
389 /tftpboot/debian-sparc-root client(rw,no_root_squash)
390
391 </screen></informalexample>
392
393 NOTE: "client" is the host name or IP address recognized by the server for
394 the system you are booting.
395
396 </para></listitem>
397 <listitem><para>
398
399 Create a symbolic link from your client IP address in dotted notation
400 to <filename>debian-sparc-root</filename> in the
401 <filename>/tftpboot</filename> directory. For example, if the client
402 IP address is 192.168.1.3, do
403
404 <informalexample><screen>
405
406 # ln -s debian-sparc-root 192.168.1.3
407
408 </screen></informalexample>
409
410 </para></listitem>
411 </orderedlist>
412
413 </para>
414
415 </sect2>
416
417 <sect2 condition="supports-nfsroot">
418 <title>Installing with TFTP and NFS Root</title>
419 <para>
420
421 Installing with TFTP and NFS Root is similar to
422 <xref linkend="tftp-low-memory"/> because you don't want to
423 load the RAMdisk anymore but boot from the newly created NFS-root file
424 system. You then need to replace the symlink to the tftpboot image by
425 a symlink to the kernel image (for example,
426 <filename>linux-a.out</filename>).
427
428 </para><para>
429
430 RARP/TFTP requires all daemons to be running on the same server (the
431 workstation is sending a TFTP request back to the server that replied
432 to its previous RARP request).
433
434 </para>
435
436
437 </sect2>
438 END FIXME -->
439 </sect1>

Properties

Name Value
svn:keywords Id

  ViewVC Help
Powered by ViewVC 1.1.5