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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
|
<!-- $Id$ -->
<!-- original version: 43558 -->
<sect1 condition="supports-tftp" id="install-tftp">
<title>Příprava souborů pro zavedení ze sítě pomocí TFTP</title>
<para>
Pokud je váš počítač připojen do lokální sítě, můžete jej zavést ze
sítě pomocí TFTP. Jestliže chcete pomocí TFTP zavést instalační
systém, musíte na vzdáleném počítači nakopírovat zaváděcí soubory do
specifických adresářů a povolit zavádění vaší stanice.
</para><para>
Musíte nastavit TFTP server a často i DHCP server
<phrase condition="supports-rarp"> nebo RARP </phrase>
<phrase condition="supports-bootp"> nebo BOOTP </phrase> server.
</para><para>
<phrase condition="supports-rarp"> Klientovi můžete sdělit jeho IP
adresu protokolem RARP (Reverse Address Resolution Protocol) nebo BOOTP.
</phrase>
<phrase condition="supports-bootp"> BOOTP je IP protokol, který
informuje počítač o jeho IP adrese a prozradí mu, odkud si má stáhnout
zaváděcí obraz.
</phrase>
<phrase arch="m68k"> Na systémech VMEbus existuje ještě jedna možnost:
IP adresu můžete ručně nastavit v boot ROM.
</phrase>
DHCP (Dynamic Host Configuration Protocol) je flexibilnější, zpětně
kompatibilní rozšíření protokolu BOOTP. Některé systémy mohou být
nastaveny pouze pomocí DHCP.
</para><para arch="powerpc">
Pokud máte NewWorld Power Macintosh, je lepší použít místo BOOTP
protokol DHCP, protože některé novější počítače se neumí protokolem
BOOTP zavést.
</para><para arch="alpha">
Na rozdíl od Open Firmware, který je stanicích Sparc a PowerPC,
konzole SRM <emphasis>nemůže</emphasis> použít protokol RARP za
účelem získání IP adresy. Proto musíte pro zavedení Alphy ze sítě
použít protokol BOOTP<footnote><para>
Systémy Alpha mohou také síťově nabootovat pomocí DECNet MOP
(Maintenance Operations Protocol), ale tato možnost není dále
popsána. Pravděpodobně ale bude váš lokální OpenVMS operátor
štěstím bez sebe, když ho požádáte o pomoc při zavedení Linuxu
na své Alphě.
</para></footnote>. Také můžete zadat nastavení síťových rozhraní
přímo v SRM konzoli.
</para><para arch="hppa">
Některé starší stroje HPPA (tj. 715/75) používají místo BOOTP protokol
RBOOTD. Pro tyto účely slouží v Debianu balík
<classname>rbootd</classname>.
</para><para>
Pro přenos zaváděcího obrazu ke klientovi se používá protokol TFTP
(Trivial File Transfer Protocol). Teoreticky můžete použít server na
libovolné platformě, která jej implementuje. Ukázky v této kapitole se
vztahují k operačním systémům SunOS 4.x, SunOS 5.x (neboli Solaris) a
GNU/Linux.
<note arch="x86"><para>
Abyste mohli využít PXE (Pre-boot Execution Environment) metodu TFTP
zavádění, musíte mít TFTP server s podporou
<userinput>tsize</userinput>, například <command>tftp-hpa</command>
nebo <classname>atftpd</classname> (doporučujeme první zmíněný).
</para></note></para>
&tftp-rarp.xml;
&tftp-bootp.xml;
&tftp-dhcp.xml;
<sect2 id="tftpd">
<title>Povolení TFTP serveru</title>
<para>
Aby vám TFTP server fungoval, měli byste nejprve zkontrolovat,
zda je <command>tftpd</command> povolen. Toho obvykle docílíte
následující řádkou v souboru <filename>/etc/inetd.conf</filename>:
<informalexample><screen>
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
</screen></informalexample>
Při instalaci z debianích balíků se o nic nemusíte starat, protože
se tento řádek založí automaticky při instalaci balíku.
</para><note><para>
TFTP servery historicky používaly pro uložení nabízených obrazů
adresář <filename>/tftpboot</filename>. Aby byl &debian; v souladu se
standardem <ulink url="&url-fhs-home;">FHS</ulink>, mohou debianí
balíky používat jiná umístění. Například
<classname>tftpd-hpa</classname> implicitně používá adresář
<filename>/var/lib/tftpboot</filename>. Je proto možné, že budete
muset cesty uváděné v této kapitole upravit pro konkrétní situaci.
</para></note><para>
Podívejte se do souboru <filename>/etc/inetd.conf</filename> a
zapamatujte si název adresáře, jehož jméno je za
<command>in.tftpd</command>;<footnote><para>
Přepínač <userinput>-l</userinput> umožňuje některým verzím
<command>in.tftpd</command> zaznamenávat všechny požadavky, které mu
byly zaslány, do systémových logů. To je vhodné zejména v situaci, kdy
zavádění neprobíhá tak, jak má.
</para></footnote> budete jej dále potřebovat. Pokud musíte změnit
obsah souboru <filename>/etc/inetd.conf</filename>, musíte také
upozornit proces <command>inetd</command>, aby aktualizoval svá
nastavení. Na počítači s Debianem stačí spustit
<userinput>/etc/init.d/inetd reload</userinput>. Na jiných systémech
musíte zjistit ID běžícího procesu <command>inetd</command> a spustit
<userinput>kill -HUP <replaceable>pid-inetd</replaceable></userinput>.
</para><para arch="mips">
Pokud je vaším TFTP serverem GNU/Linux s jádrem 2.4.X a instalujete na
počítač SGI, musíte na něm následujícím příkazem vypnout <quote>Path
MTU discovery</quote>:
<informalexample><screen>
<prompt>#</prompt> <userinput>echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc</userinput>
</screen></informalexample>
Pokud tak neučiníte, PROM na SGI nebude moci stáhnout jádro.
Dále zkontrolujte že TFTP pakety jsou posílány z portu menšího než
32767, protože jinak by se přenos zastavil po prvním paketu.
Rozsah zdrojových portů, které má TFTP server používat se nastaví
příkazem:
<informalexample><screen>
<prompt>#</prompt> <userinput>echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range</userinput>
</screen></informalexample>
</para>
</sect2>
<sect2 id="tftp-images">
<title>Přesun TFTP obrazů na místo</title>
<para>
Dále je potřeba umístit příslušný TFTP obraz (viz
<xref linkend="where-files"/>) do adresáře, kde má
<command>tftpd</command> uloženy obrazy.
Bohužel TFTP klient očekává jméno
souboru v určitém tvaru, pro který neexistují žádné závazné
standardy. Proto ještě musíte na příslušný obraz vytvořit odkaz, který
<command>tftpd</command> použije pro zavedení konkrétního klienta.
</para><para arch="powerpc">
Na strojích NewWorld Power Macintosh budete muset nastavit jako
zaváděcí TFTP obraz zavaděč <command>yaboot</command>.
<command>Yaboot</command> si pak sám přes TFTP stáhne obrazy jádra a
RAMdisku. Pro zavádění ze sítě použijte soubor
<filename>yaboot-netboot.conf</filename>, který v TFTP adresáři
přejmenujete na <filename>yaboot.conf</filename>.
</para><para arch="x86">
Pro PXE zavádění by mělo být vše potřebné v souboru
<filename>netboot/netboot.tar.gz</filename>. Tento archiv stačí
rozbalit do adresáře, kde <command>tftpd</command> uchovává zaváděcí
obrazy. Ujistěte se, že je váš dhcp server nastaven tak, aby jako
jméno souboru pro zavedení zasílal <filename>pxelinux.0</filename>.
</para><para arch="ia64">
Pro PXE zavádění by mělo být vše potřebné v souboru
<filename>netboot/netboot.tar.gz</filename>. Tento archiv stačí
rozbalit do adresáře, kde <command>tftpd</command> uchovává zaváděcí
obrazy. Ujistěte se, že je váš dhcp server nastaven tak, aby jako
jméno souboru pro zavedení zasílal
<filename>/debian-installer/ia64//elilo.efi</filename>.
</para>
<sect3 arch="mipsel">
<title>TFTP obrazy pro DECstation</title>
<para>
Na počítačích DECstation existují pro každou podarchitekturu speciální
tftp obrazy, které v jednom souboru obsahují jak jádro, tak instalační
program. Jména těchto souborů jsou
<filename><replaceable>podarchitektura</replaceable>/netboot-boot.img</filename>.
Jestliže jste si nastavili BOOTP/DHCP podle našich příkladů,
nakopírujte tftp obraz do souboru
<filename>/tftpboot/tftpboot.img</filename>.
</para><para>
Z DECstation firmwaru zavedete systém přes TFTP příkazem
<userinput>boot <replaceable>#</replaceable>/tftp</userinput>, kde
<replaceable>#</replaceable> je číslo zařízení TurboChannel, ze
kterého se má zavádět. Většinou to bývá <quote>3</quote>. Pokud vám
BOOTP/DHCP server nenabídne správný obraz, nebo pokud chcete zadat
speciální parametry, můžete použít následující syntaxi:
</para><para>
<userinput>boot #/tftp/obraz param1=hodnota1 param2=hodnota2 ...</userinput>
</para><para>
U několika revizí DECstation firmwaru se projevuje problém se
zaváděním ze sítě: zahájí se přenos a po krátké době stahování spadne
s hláškou <computeroutput>a.out err</computeroutput>. To může mít
několik příčin:
<orderedlist>
<listitem><para>
Firmware neodpovídá na ARP požadavky, což po chvíli vede k vypršení
časového kvanta ARP protokolu a přenos se zastaví. Řešením je ručně
přidat MAC adresu síťové karty stanice do ARP tabulky TFTP
serveru. MAC adresu získáte z promptu firmwaru příkazem
<command>cnfg</command>. Tuto adresu pak na TFTP serveru přidáte
příkazem <userinput>arp -s <replaceable>IP-adresa</replaceable>
<replaceable>MAC-adresa</replaceable></userinput>.
</para></listitem>
<listitem><para>
Firmware má omezení na velikost zaváděných obrazů.
</para></listitem>
</orderedlist>
Také existují revize firmwaru, které neumí s TFTP pracovat vůbec.
Přehled různých revizí můžete najít na stránkách projektu NetBSD:
<ulink
url="http://www.netbsd.org/Ports/pmax/board-list.html#proms"></ulink>.
</para>
</sect3>
<sect3 arch="alpha">
<title>Zavedení Alphy přes TFTP</title>
<para>
Na systémech Alpha musíte v SRM konzoli zadat jméno obrazu (jako
relativní cestu k adresáři se zaváděcími obrazy) jako parametr
argumentu <userinput>-file</userinput> příkazu
<userinput>boot</userinput>. Stejného výsledku dosáhnete nastavením
proměnné <userinput>BOOT_FILE</userinput>.
Eventuálně můžete jméno specifikovat rovněž pomocí BOOTP
(při konfiguraci ISC <command>dhcpd</command> použijte direktivu
<userinput>filename</userinput>). Na SRM konzoli, na rozdíl od Open
Firmwaru, <emphasis>neexistuje</emphasis> standardní jméno souboru,
takže <emphasis>musíte</emphasis> zadat jméno souboru jednou z
popsaných metod.
</para>
</sect3>
<sect3 arch="sparc">
<title>TFTP zavádění na počítačích SPARC</title>
<para>
Některé počítače SPARC přidávají k názvu souboru jména podarchitektur
jako třeba <quote>SUN4M</quote> nebo <quote>SUN4C</quote>. Pokud třeba
máte počítač s podarchitekturou SUN4C a IP adresa je 192.168.1.3, pak
jméno souboru bude <filename>C0A80103.SUN4C</filename>. Převod IP
adresy na hexadecimální čísla můžete provést jednoduše v shellu
příkazem
<informalexample><screen>
<prompt>$</prompt> <userinput>printf '%.2x%.2x%.2x%.2x\n' <replaceable>10 0 0 4</replaceable></userinput>
</screen></informalexample>
kde čísla <replaceable>10 0 0 4</replaceable> představují IP adresu (v
tomto případě 10.0.0.4). Výsledek ještě musíte převést na velká
písmena a případně připojit název podarchitektury.
</para><para>
Některé sparc systémy můžete donutit hledat konkrétní soubor přidáním
jména souboru na konec OpenPROM příkazu <userinput>boot</userinput>
(např. <userinput>boot net muj-sparc.obraz</userinput>). Soubor musí
samozřejmě ležet v adresáři prohledávaném TFTP serverem.
</para>
</sect3>
<sect3 arch="m68k">
<title>TFTP zavádění na systémech BVM/Motorola</title>
<para>
Pro systémy BVM a Motorola VMEbus nakopírujte soubory
&bvme6000-tftp-files; do adresáře <filename>/tftpboot/</filename>.
</para><para>
Poté nakonfigurujte boot ROM nebo BOOTP server, aby nejprve z TFTP
serveru natáhl soubory <filename>tftplilo.bvme</filename> nebo
<filename>tftplilo.mvme</filename>.
Další informace o konfiguraci systémově specifických částí pro svou
podarchitekturu získáte v souboru <filename>tftplilo.txt</filename>.
</para>
</sect3>
<sect3 arch="mips">
<title>TFTP zavádění na SGI</title>
<para>
U počítačů SGI se můžete spolehnout na <command>bootpd</command>,
že předá správné jméno TFTP souboru. Jméno se zadává v souboru
<filename>/etc/bootptab</filename> jako parametr
<userinput>bf=</userinput> nebo v souboru
<filename>/etc/dhcpd.conf</filename> parametrem
<userinput>filename=</userinput>.
</para>
</sect3>
<sect3 arch="mips">
<title>TFTP zavádění na Broadcom BCM91250A a BCM91480B</title>
<para>
DHCP nemusíte nijak zvlášť nastavovat, protože celou cestu k souboru,
který se má nahrát, zadáte do CFE.
</para>
</sect3>
</sect2>
<!-- FIXME: commented out since it seems too old to be usable and a current
way is not known
<sect2 id="tftp-low-memory">
<title>TFTP instalace na systémech s nedostatkem paměti</title>
<para>
Na některých systémech se standardní instalační RAMdisk a zaváděcí
TFTP obraz nemusí vlézt do paměti. V takovém případě musíte navíc přes
NFS připojit také kořenový adresář. Tento postup je shodný s instalací
na bezdiskové nebo bezdatové klienty.
</para><para>
Nejprve proveďte všechny kroky podle <xref linkend="install-tftp"/>.
<orderedlist>
<listitem><para>
Nakopírujte obraz linuxového jádra (<userinput>a.out</userinput> verzi
pro vaši architekturu) na TFTP server.
</para></listitem>
<listitem><para>
Na NFS serveru rozbalte kořenový archiv. (NFS i TFTP mohou běžet na
stejném počítači):
<informalexample><screen>
<prompt>#</prompt> <userinput>cd /tftpboot</userinput>
<prompt>#</prompt> <userinput>tar xvzf root.tar.gz</userinput>
</screen></informalexample>
Ujistěte se, že používáte GNU <command>tar</command>, protože některé
implementace (konkrétně ta na SunOS) pracují (chybně) se zařízeními
jako s obyčejnými soubory.
</para></listitem>
<listitem><para>
Na klienta exportujte adresář
<filename>/tftpboot/debian-sparc-root</filename> (s rootovským
přístupem). Tj. do souboru <filename>/etc/exports</filename> přidejte
následující řádek (toto je GNU/Linux syntaxe - pro SunOS by to mělo
být podobné):
<informalexample><screen>
/tftpboot/debian-sparc-root <replaceable>klient</replaceable>(rw,no_root_squash)
</screen></informalexample>
Poznámka: <replaceable>klient</replaceable> je jméno nebo IP adresa
instalovaného počítače tak, jak ji vidí server, když se klient zavádí.
</para></listitem>
<listitem><para>
Vytvořte symbolický odkaz z klientské IP adresy, v tečkové notaci,
na soubor <filename>debian-sparc-root</filename> v adresáři
<filename>/tftpboot</filename>.
Například pokud je IP adresa klienta 192.168.1.3, napište:
<informalexample><screen>
<prompt>#</prompt> <userinput>ln -s debian-sparc-root 192.168.1.3</userinput>
</screen></informalexample>
</para></listitem>
</orderedlist>
</para>
</sect2>
<sect2 condition="supports-nfsroot">
<title>Instalace za použití TFTP a NFS</title>
<para>
Instalace přes TFTP a použití kořenového adresáře přes NFS je podobné
jako <xref linkend="tftp-low-memory"/>, protože nebudete do paměti
nahrávat RAMdisk, ale zavedete systém z kořenového souborového systému
připojeného přes NFS. Musíte pak nahradit symbolický odkaz, aby
ukazoval na jádro (například <filename>linux-a.out</filename>) a ne na
tftp obraz.
</para><para>
RARP/TFTP vyžadují, aby všechny démony běžely na stejném serveru.
(Stanice totiž odešle TFTP požadavek tomu, kdo odpoví na RARP
zprávu).
</para><para>
Nyní máte nachystáno vše potřebné a můžete přejít k zavedení klientské
stanice — <xref linkend="boot-tftp"/>.
</para>
</sect2>
END FIXME -->
</sect1>
|