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.
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.
Megjegyzés | |
---|---|
Debian GNU/Linux szervernek a |
Egy szabad DHCP kiszolgáló az ISC dhcpd. A Debian GNU/Linux rendszerben a isc-dhcp-server
csomagban van. Itt egy példa beállító fájl (lásd: /etc/dhcp/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.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/isc-dhcp-server restart
.
Itt egy másik, indítás-előtti futtatási környezet (PXE) TFTP módot használó dhcp.conf
példa.
option domain-name "example.com"; default-lease-time 600; max-lease-time 7200; allow booting; allow bootp; # The next paragraph needs to be modified to fit your case subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option broadcast-address 192.168.1.255; # the gateway address which can be different # (access to the internet for instance) option routers 192.168.1.1; # indicate the dns you want to use option domain-name-servers 192.168.1.3; } group { next-server 192.168.1.3; host tftpclient { # tftp client hardware address hardware ethernet 00:10:DC:27:6C:15; filename "pxelinux.0"; } }
A PXE indítás számára a pxelinux.0
ügyfél fájl neve egy boot betöltő, nem egy kernel kép (lásd az alábbi 4.5.4. szakasz - TFTP képek helyükre tétele részt).
If your machine uses UEFI to boot, you will have to specify a boot loader appropriate for UEFI machines, for example
group { next-server 192.168.1.3; host tftpclient { # tftp client hardware address hardware ethernet 00:10:DC:27:6C:15; filename "debian-installer/amd64/bootnetx64.efi"; } }
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 isc-dhcp-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.5.4. szakasz - TFTP képek helyükre tétele több részletért.
By contrast, setting up BOOTP with ISC dhcpd is really easy, because it treats BOOTP clients as a moderately special case of DHCP clients. Some architectures require a complex configuration for booting clients via BOOTP. If yours is one of those, read the section 4.5.1. szakasz - Egy DHCP kiszolgáló beállítása. Otherwise you will probably be able to get away with simply adding the allow bootp
directive to the configuration block for the subnet containing the client in /etc/dhcp/dhcpd.conf
, and restart dhcpd with /etc/init.d/isc-dhcp-server restart
.
To get the TFTP server ready to go, you should first make sure that tftpd is enabled.
In the case of tftpd-hpa
there are two ways the service can be run. It can be started on demand by the system's inetd
daemon, or it can be set up to run as an independent daemon. Which of these methods is used is selected when the package is installed and can be changed by reconfiguring the package.
Megjegyzés | |
---|---|
Régen a TFTP kiszolgálók a |
All in.tftpd alternatives available in Debian should log TFTP requests to the system logs by default. Some of them support a -v
argument to increase verbosity. It is recommended to check these log messages in case of boot problems as they are a good starting point for diagnosing the cause of errors.
Most tedd a TFTP indító képet a 4.2.1. szakasz - A telepítő fájlok 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.
For PXE booting, everything you should need is set up in the netboot/netboot.tar.gz
tarball. Simply extract this tarball into the tftpd boot image directory. Make sure your dhcp server is configured to pass pxelinux.0
to tftpd as the filename to boot. For UEFI machines, you will need to pass an appropriate EFI boot image name (such as /debian-installer/amd64/bootnetx64.efi
).