~ubuntu-branches/ubuntu/vivid/installation-guide/vivid-proposed

« back to all changes in this revision

Viewing changes to ca/install-methods/install-tftp.xml

  • Committer: Bazaar Package Importer
  • Author(s): Frans Pop
  • Date: 2005-10-25 17:37:25 UTC
  • Revision ID: james.westby@ubuntu.com-20051025173725-aq0bm11be7bfd7rw
Tags: 20051025
* Mention in copyright that full GPL is included in the manual.
  Closes: #334925
* Register installed documents with doc-base.
* Minor updates in English text and translations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!-- retain these comments for translator revision tracking -->
 
2
<!-- original version: 29334 untranslated -->
 
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
 
48
Alpha<footnote>
 
49
 
 
50
<para>
 
51
Alpha systems can also be net-booted using the DECNet MOP (Maintenance
 
52
Operations Protocol), but this is not covered here.  Presumably, your
 
53
local OpenVMS operator will be happy to assist you should you have
 
54
some burning need to use MOP to boot Linux on your Alpha.
 
55
</para>
 
56
 
 
57
</footnote>. You can also enter the IP configuration for network
 
58
interfaces directly in the SRM console.
 
59
 
 
60
</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
<note arch="i386"><para>
 
74
 
 
75
To use the Pre-boot Execution Environment (PXE) method of TFTP
 
76
booting, you will need a TFTP server with <userinput>tsize</userinput>
 
77
support.  On a &debian; server, the <classname>atftpd</classname> and
 
78
<classname>tftpd-hpa</classname> packages qualify; we recommend
 
79
<classname>tftpd-hpa</classname>.
 
80
 
 
81
</para></note>
 
82
 
 
83
</para>
 
84
 
 
85
&tftp-rarp.xml;
 
86
&tftp-bootp.xml;
 
87
&tftp-dhcp.xml;
 
88
 
 
89
  <sect2 id="tftpd">
 
90
  <title>Enabling the TFTP Server</title>
 
91
<para>
 
92
 
 
93
To get the TFTP server ready to go, you should first make sure that
 
94
<command>tftpd</command> is enabled.  This is usually enabled by having
 
95
something like the following line in <filename>/etc/inetd.conf</filename>:
 
96
 
 
97
<informalexample><screen>
 
98
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
 
99
</screen></informalexample>
 
100
 
 
101
Debian packages will in general set this up correctly by default when they
 
102
are installed.
 
103
 
 
104
</para><para>
 
105
 
 
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
 
109
<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
 
116
<userinput>kill -HUP <replaceable>inetd-pid</replaceable></userinput>.
 
117
 
 
118
</para><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
# echo 1 &gt; /proc/sys/net/ipv4/ip_no_pmtu_disc
 
126
</screen></informalexample>
 
127
 
 
128
to turn off Path MTU discovery, otherwise the Indy's PROM can't
 
129
download the kernel. Furthermore, make sure TFTP packets are sent from
 
130
a source port no greater than 32767, or the download will stall after
 
131
the first packet.  Again, it's Linux 2.4.X tripping this bug in the
 
132
PROM, and you can avoid it by setting
 
133
 
 
134
<informalexample><screen>
 
135
# echo "2048 32767" &gt; /proc/sys/net/ipv4/ip_local_port_range
 
136
</screen></informalexample>
 
137
 
 
138
to adjust the range of source ports the Linux TFTP server uses.
 
139
 
 
140
</para>
 
141
  </sect2>
 
142
 
 
143
  <sect2 id="tftp-images">
 
144
  <title>Move TFTP Images Into Place</title>
 
145
<para>
 
146
 
 
147
Next, place the TFTP boot image you need, as found in
 
148
<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
 
151
file to the file which <command>tftpd</command> will use for booting a
 
152
particular client.  Unfortunately, the file name is determined by the
 
153
TFTP client, and there are no strong standards.
 
154
 
 
155
</para><para arch="powerpc">
 
156
 
 
157
On NewWorld Power Macintosh machines, you will need to set up the
 
158
<command>yaboot</command> boot loader as the TFTP boot image.
 
159
<command>Yaboot</command> will then retrieve the kernel and RAMdisk
 
160
images via TFTP itself.  For net booting, use the
 
161
<filename>yaboot-netboot.conf</filename>.  Just rename this to
 
162
<filename>yaboot.conf</filename> in the TFTP directory.
 
163
 
 
164
</para><para arch="i386">
 
165
 
 
166
For PXE booting, everything you should need is set up in the
 
167
<filename>netboot/netboot.tar.gz</filename> tarball. Simply extract this
 
168
tarball into the <command>tftpd</command> boot image directory. Make sure
 
169
your dhcp server is configured to pass <filename>/pxelinux.0</filename>
 
170
to <command>tftpd</command> as the filename to boot.
 
171
 
 
172
</para><para arch="ia64">
 
173
 
 
174
For PXE booting, everything you should need is set up in the
 
175
<filename>netboot/netboot.tar.gz</filename> tarball. Simply extract this
 
176
tarball into the <command>tftpd</command> boot image directory. Make sure
 
177
your dhcp server is configured to pass
 
178
<filename>/debian-installer/ia64/elilo.efi</filename>
 
179
to <command>tftpd</command> as the filename to boot.
 
180
 
 
181
</para>
 
182
 
 
183
   <sect3 arch="mipsel">
 
184
   <title>DECstation TFTP Images</title>
 
185
<para>
 
186
 
 
187
For DECstations, there are tftpimage files for each subarchitecture,
 
188
which contain both kernel and installer in one file. The naming
 
189
convention is <replaceable>subarchitecture</replaceable>/netboot-boot.img.
 
190
Copy the tftpimage file you would like to use to
 
191
<userinput>/tftpboot/tftpboot.img</userinput> if you work with the
 
192
example BOOTP/DHCP setups described above.
 
193
 
 
194
</para><para>
 
195
 
 
196
The DECstation firmware boots by TFTP with the command <userinput>boot
 
197
<replaceable>#</replaceable>/tftp</userinput>, where
 
198
<replaceable>#</replaceable> is the number of the TurboChannel device
 
199
from which to boot. On most DECstations this is <quote>3</quote>.  If the
 
200
BOOTP/DHCP server does not supply the filename or you need to pass
 
201
additional parameters, they can optionally be appended with the
 
202
following syntax:
 
203
 
 
204
</para><para>
 
205
 
 
206
<userinput>boot #/tftp/filename param1=value1 param2=value2 ...</userinput>
 
207
 
 
208
</para><para>
 
209
 
 
210
Several DECstation firmware revisions show a problem with regard to
 
211
net booting: the transfer starts, but after some time it stops with
 
212
an <computeroutput>a.out err</computeroutput>. This can have several reasons:
 
213
 
 
214
<orderedlist>
 
215
<listitem><para>
 
216
 
 
217
The firmware does not respond to ARP requests during a TFTP
 
218
transfer. This leads to an ARP timeout and the transfer stops.  The
 
219
solution is to add the MAC address of the Ethernet card in the
 
220
DECstation statically to the ARP table of the TFTP server.  This is
 
221
done by running <userinput>arp -s
 
222
<replaceable>IP-address</replaceable>
 
223
<replaceable>MAC-address</replaceable></userinput> as root on the
 
224
machine acting as TFTP server. The MAC-address of the DECstation can
 
225
be read out by entering <command>cnfg</command> at the DECstation
 
226
firmware prompt.
 
227
 
 
228
</para></listitem>
 
229
<listitem><para>
 
230
 
 
231
The firmware has a size limit on the files that can be booted
 
232
by TFTP.
 
233
 
 
234
</para></listitem>
 
235
</orderedlist>
 
236
 
 
237
There are also firmware revisions that cannot boot via TFTP at all. An
 
238
overview about the different firmware revisions can be found at the
 
239
NetBSD web pages:
 
240
<ulink url="http://www.netbsd.org/Ports/pmax/board-list.html#proms"></ulink>.
 
241
 
 
242
</para>
 
243
   </sect3>
 
244
 
 
245
   <sect3 arch="alpha">
 
246
   <title>Alpha TFTP Booting</title>
 
247
<para>
 
248
On Alpha, you must specify the filename (as a relative path to the
 
249
boot image directory) using the <userinput>-file</userinput> argument
 
250
to the SRM <userinput>boot</userinput> command, or by setting the
 
251
<userinput>BOOT_FILE</userinput> environment variable.  Alternatively,
 
252
the filename can be given via BOOTP (in ISC <command>dhcpd</command>,
 
253
use the <userinput>filename</userinput> directive).  Unlike Open
 
254
Firmware, there is <emphasis>no default filename</emphasis> on SRM, so
 
255
you <emphasis>must</emphasis> specify a filename by either one of
 
256
these methods.
 
257
 
 
258
</para>
 
259
   </sect3>
 
260
 
 
261
   <sect3 arch="sparc">
 
262
   <title>SPARC TFTP Booting</title>
 
263
<para>
 
264
 
 
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).
 
273
 
 
274
<informalexample><screen>
 
275
$ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4
 
276
</screen></informalexample>
 
277
 
 
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.
 
281
 
 
282
</para><para>
 
283
 
 
284
You can also force some sparc systems to look for a specific file name
 
285
by adding it to the end of the OpenPROM boot command, such as
 
286
<userinput>boot net my-sparc.image</userinput>. This must still reside
 
287
in the directory that the TFTP server looks in.
 
288
 
 
289
</para>
 
290
   </sect3>
 
291
 
 
292
   <sect3 arch="m68k">
 
293
   <title>BVM/Motorola TFTP Booting</title>
 
294
<para>
 
295
 
 
296
For BVM and Motorola VMEbus systems copy the files
 
297
&bvme6000-tftp-files; to <filename>/tftpboot/</filename>.
 
298
 
 
299
</para><para>
 
300
 
 
301
Next, configure your boot ROMs or BOOTP server to initially load the
 
302
<filename>tftplilo.bvme</filename> or
 
303
<filename>tftplilo.mvme</filename> files from the TFTP server.  Refer
 
304
to the <filename>tftplilo.txt</filename> file for your subarchitecture
 
305
for additional system-specific configuration information.
 
306
 
 
307
</para>
 
308
   </sect3>
 
309
 
 
310
   <sect3 arch="mips">
 
311
   <title>SGI Indys TFTP Booting</title>
 
312
<para>
 
313
 
 
314
On SGI Indys you can rely on the <command>bootpd</command> to supply
 
315
the name of the TFTP file. It is given either as the
 
316
<userinput>bf=</userinput> in <filename>/etc/bootptab</filename> or as
 
317
the <userinput>filename=</userinput> option in
 
318
<filename>/etc/dhcpd.conf</filename>.
 
319
 
 
320
</para>
 
321
   </sect3>
 
322
 
 
323
   <sect3 arch="mips">
 
324
   <title>Broadcom BCM91250A TFTP Booting</title>
 
325
<para>
 
326
 
 
327
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.
 
329
 
 
330
</para>
 
331
   </sect3>
 
332
 
 
333
  </sect2>
 
334
 
 
335
<!-- FIXME: commented out since it seems too old to be usable and a current
 
336
            way is not known
 
337
 
 
338
  <sect2 id="tftp-low-memory">
 
339
  <title>TFTP Installation for Low-Memory Systems</title>
 
340
<para>
 
341
 
 
342
On some systems, the standard installation RAMdisk, combined with the
 
343
memory requirements of the TFTP boot image, cannot fit in memory.  In
 
344
this case, you can still install using TFTP, you'll just have to go
 
345
through the additional step of NFS mounting your root directory over
 
346
the network as well.  This type of setup is also appropriate for
 
347
diskless or dataless clients.
 
348
 
 
349
</para><para>
 
350
 
 
351
First, follow all the steps above in <xref linkend="install-tftp"/>.
 
352
 
 
353
<orderedlist>
 
354
<listitem><para>
 
355
 
 
356
Copy the Linux kernel image on your TFTP server using the
 
357
<userinput>a.out</userinput> image for the architecture you are
 
358
booting.
 
359
 
 
360
</para></listitem>
 
361
<listitem><para>
 
362
 
 
363
Untar the root archive on your NFS server (can be the same system as
 
364
your TFTP server):
 
365
 
 
366
<informalexample><screen>
 
367
# cd /tftpboot
 
368
# tar xvzf root.tar.gz
 
369
</screen></informalexample>
 
370
 
 
371
Be sure to use the GNU <command>tar</command> (other tar programs, like the
 
372
SunOS one, badly handle devices as plain files).
 
373
 
 
374
</para></listitem>
 
375
<listitem><para>
 
376
 
 
377
Export your <filename>/tftpboot/debian-sparc-root</filename> directory
 
378
with root access to your client.  E.g., add the following line to
 
379
<filename>/etc/exports</filename> (GNU/Linux syntax, should be similar
 
380
for SunOS):
 
381
 
 
382
<informalexample><screen>
 
383
/tftpboot/debian-sparc-root <replaceable>client</replaceable>(rw,no_root_squash)
 
384
</screen></informalexample>
 
385
 
 
386
NOTE: <replaceable>client</replaceable> is the host name or IP address recognized
 
387
by the server for the system you are booting.
 
388
 
 
389
</para></listitem>
 
390
<listitem><para>
 
391
 
 
392
Create a symbolic link from your client IP address in dotted notation
 
393
to <filename>debian-sparc-root</filename> in the
 
394
<filename>/tftpboot</filename> directory.  For example, if the client
 
395
IP address is 192.168.1.3, do
 
396
 
 
397
<informalexample><screen>
 
398
# ln -s debian-sparc-root 192.168.1.3
 
399
</screen></informalexample>
 
400
 
 
401
</para></listitem>
 
402
</orderedlist>
 
403
 
 
404
</para>
 
405
 
 
406
  </sect2>
 
407
 
 
408
  <sect2 condition="supports-nfsroot">
 
409
  <title>Installing with TFTP and NFS Root</title>
 
410
<para>
 
411
 
 
412
Installing with TFTP and NFS Root is similar to
 
413
<xref linkend="tftp-low-memory"/> because you don't want to
 
414
load the RAMdisk anymore but boot from the newly created NFS-root file
 
415
system.  You then need to replace the symlink to the tftpboot image by
 
416
a symlink to the kernel image (for example,
 
417
<filename>linux-a.out</filename>).
 
418
 
 
419
</para><para>
 
420
 
 
421
RARP/TFTP requires all daemons to be running on the same server (the
 
422
workstation is sending a TFTP request back to the server that replied
 
423
to its previous RARP request).
 
424
 
 
425
</para>
 
426
 
 
427
 
 
428
  </sect2>
 
429
END FIXME -->
 
430
 </sect1>