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 , vagy RARP kiszolgálót.
A fordított címfeloldó protokoll (RARP) egy mód az ügyfél számára közölni, milyen IP-címet használjon. Egy másik mód a BOOTP protokoll. 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.
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.
A RARP beállításához tudnod kell a telepíteni kívánt kliens Ethernet címét (közismertebben MAC cím). Ha nem áll rendelkezésedre ezen információ, akkor kiszedheted az OpenPROM indító kezdeti üzeneteiből az OpenBoot .enet-addr
parancsával vagy a gépet „Mentő” módban indítva (például a mentő flopi lemezzel) használhatod a /sbin/ifconfig eth0
parancsot.
A Linux 2.4 vagy 2.6 kernelt vagy Solaris/SunOS-t használó RARP szervereken az rarpd programot használod. Győződj meg róla, hogy a kliens szerepel az „ethers” adatbázisban (a /etc/ethers
fájlban vagy a NIS/NIS+ által) és a „hosts” adatbázisban. Ezután indítsd el a RARP démont. Add ki az alábbi parancsok egyikét (mint root): /usr/sbin/rarpd -a
a legtöbb Linux és a SunOS 5 rendszeren (Solaris 2), /usr/sbin/in.rarpd -a
néhány másik Linux rendszeren, vagy /usr/etc/rarpd -a
a SunOS 4 rendszeren (Solaris 1).
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.4.5. 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.4.3. 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
.
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
.
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.
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
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.
Some SPARC architectures add the subarchitecture names, such as „SUN4M” or „SUN4C”, to the filename. Thus, if your system's subarchitecture is a SUN4C, and its IP is 192.168.1.3, the filename would be C0A80103.SUN4C
. However, there are also subarchitectures where the file the client looks for is just client-ip-in-hex
. An easy way to determine the hexadecimal code for the IP address is to enter the following command in a shell (assuming the machine's intended IP is 10.0.0.4).
$ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4
To get to the correct filename, you will need to change all letters to uppercase and if necessary append the subarchitecture name.
If you've done all this correctly, giving the command boot net
from the OpenPROM should load the image. If the image cannot be found, try checking the logs on your tftp server to see which image name is being requested.
You can also force some sparc systems to look for a specific file name by adding it to the end of the OpenPROM boot command, such as boot net my-sparc.image
. This must still reside in the directory that the TFTP server looks in.
[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.