4.6. Fájlok előkészítése TFTP hálózati indításhoz

Ha géped egy helyi hálózatra kötött, alkalom nyílhat indítására a hálózaton át másik gépről TFTP használatával. Ha a telepítő rendszert másik gépről indítanád, az indító fájlokat adott helyre kell tenni azon és be kell állítani rajta, hogy támogassa az adott géped indítását.

Be kell állítanod egy TFTP kiszolgálót, és sok géphez egy DHCP kiszolgálót .

A BOOTP egy IP protokoll mely megmondja egy gép IP-címét és, hogy hol éri el a hálózaton az indító képet. A DHCP (Dinamikus gazda konfiguráló Protokoll) a BOOTP egy sokkal rugalmasabb, visszafelé-kompatibilis kiterjesztése. Egyes rendszerek csak DHCP módon állíthatók be.

For PowerPC, if you have a NewWorld Power Macintosh machine, it is a good idea to use DHCP instead of BOOTP. Some of the latest machines are unable to boot using BOOTP.

A Triviális fájl átviteli protokoll (TFTP) arra jó, hogy átadja az indító képet az ügyfélnek. Elméletileg bármely kiszolgáló bármely platformon, mely megvalósítja e protokollokat használható. A példákban SunOS 4.x, SunOS 5.x (más nevén Solaris), és GNU/Linux parancsokat adunk.

4.6.1. BOOTP kiszolgáló beállítása

2 BOOTP kiszolgáló van GNU/Linux alatt. Az 1. a CMU bootpd. A másik egy DHCP kiszolgáló: az ISC dhcpd. A Debian GNU/Linux rendszerben ezek a bootp és dhcp3-server csomagokban vannak.

A CMU bootpd használatához a /etc/inetd.conf megfelelő sora kell. A Debian GNU/Linux rendszeren így érdemes: update-inetd --enable bootps, majd /etc/init.d/inetd reload. Csak arra az esetre mutatjuk, ha a BOOTP kiszolgáló nem Debian rendszert futtatna, a kérdéses sor így áll össze:

bootps  dgram  udp  wait  root  /usr/sbin/bootpd  bootpd -i -t 120

Most létre kell hozni a /etc/bootptab fájlt. A régi jó BSD printcap, termcap, és disktab fájlokban megszokott formájú. Lásd a bootptab kézikönyv oldalt több adatért. A CMU bootpd parancshoz tudni kell az ügyfél hardver (MAC) címét. Itt egy példa /etc/bootptab:

client:\
  hd=/tftpboot:\
  bf=tftpboot.img:\
  ip=192.168.1.90:\
  sm=255.255.255.0:\
  sa=192.168.1.1:\
  ha=0123456789AB:

Legalább a „ha” opciót cserélni kell, mely megadja az ügyfél hardver címét. A „bf” lehetőség megadja az ügyfél által a TFTP-n elérendő fájlt; lásd ezt: 4.6.4. szakasz - TFTP képek helyükre tétele több részletért.

Az ISC dhcpd BOOTP beállítása még egyszerűbb, mert a BOOTP ügyfeleket mérsékelten különleges esetű DHCP ügyfeleknek tekinti. Néhány architektúra összetett beállítást igényel az ügyfelek BOOTP indításához. Ebben az esetben olvasd el a 4.6.2. szakasz - Egy DHCP kiszolgáló beállítása részt. Amúgy minden bizonnyal könnyen eljutsz az allow bootp beállításig az adott ügyfél gépet tartalmazó alhálózatot beállító szakaszban, majd indítsd újra a dhcpd-t így: /etc/init.d/dhcpd3-server restart.

4.6.2. Egy DHCP kiszolgáló beállítása

Egy szabad DHCP kiszolgáló az ISC dhcpd. A Debian GNU/Linux rendszerben a dhcp3-server csomagban van. Itt egy példa beállító fájl (lásd: /etc/dhcp3/dhcpd.conf):

option domain-name "example.com";
option domain-name-servers ns1.example.com;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "servername";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option routers 192.168.1.1;
}

host clientname {
  filename "/tftpboot/tftpboot.img";
  server-name "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

E példában a servername nevű kiszolgáló végzi a DHCP és TFTP kiszolgáló és hálózati átjáró munkáját. Természetesen be kell állítani a tartomány-név opciókat, a kiszolgáló nevét és az ügyfél hardver címét. A filename opció a TFTP-n át elérendő fájl neve.

A dhcpd beállító fájl szerkesztése után, indítsd újra így: /etc/init.d/dhcpd3-server restart.

4.6.3. TFTP kiszolgáló bekapcsolása

A TFTP kiszolgáló indításához először győződj meg a tftpd bekapcsolt voltáról. Ehhez a /etc/inetd.conf fájlban általában ilyen sor szerepel:

tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot

A Debian csomagok általában ezt helyesen beállítják telepítésükkor.

Megjegyzés

Régen a TFTP kiszolgálók a /tftpboot könyvtárat használták képek adására. De a Debian GNU/Linux csomagok képesek a Fájlrendszer Hierarchia Szabványnak megfelelő könyvtárak használatára. Például a tftpd-hpa alapban a /var/lib/tftpboot könyvtárat használja. Állítsd be az e szakaszban adott beállító példákat így.

Nézz a /etc/inetd.conf fájlba és jegyezd meg az in.tftpd argumentumában adott könyvtárat[2]; ez kell alább. A /etc/inetd.conf módosításakor értesíteni kell a futó inetd folyamatot, hogy a fájl változott. Egy Debian gépen ez ilyen egyszerű: /etc/init.d/inetd reload; más gépeken keresd meg az inetd PID-et, és futtasd ezt: kill -HUP inetd-pid.

4.6.4. TFTP képek helyükre tétele

Most tedd a TFTP indító képet a 4.2.1. szakasz - A telepítő képek fellelése szerint a tftpd indító kép könyvtárba. Innen egy láncot kell csinálni arra a fájlra, melyet a tftpd egy adott ügyfél indítására használ majd. Sajnos, a fájl nevét a TFTP ügyfél határozza meg és erre nincs erős szabvány.

On NewWorld Power Macintosh machines, you will need to set up the yaboot boot loader as the TFTP boot image. Yaboot will then retrieve the kernel and RAMdisk images via TFTP itself. For net booting, use the yaboot-netboot.conf. Just rename this to yaboot.conf in the TFTP directory.



[2] A -l az in.tftpd egyes verzióiban az összes kérés rendszer-naplóba naplózását kapcsolja be; ez hasznos indítási hibák vizsgálatára.