Si teniu una màquina connectada a una xarxa d'àrea local, podeu arrencar-la des d'una altra màquina de la xarxa fent servir TFTP. Si voleu arrencar el sistema d'instal·lació des d'una altra màquina, els fitxers d'arrencada hauran de col·locar-se a llocs específics d'aquesta, la qual ha de configurar-se a fi de permetre l'arrencada de la vostra.
Heu d'instal·lar un servidor TFTP, i en nombroses màquines, cal també un servidor DHCP , o un servidor BOOTP.
BOOTP és un protocol IP que indica a l'ordinador la seua pròpia adreça IP i el lloc de la xarxa on obtenir la imatge d'arrencada. El DHCP (Protocol de configuració dinàmica d'ordinadors centrals) és una extensió més flexible, i compatible, del BOOTP. Alguns sistemes sols es poden configurar fent servir el DHCP.
El protocol de transferència trivial de fitxers (TFTP) s'empra per posar a disposició del client la imatge d'arrencada. En teoria, es pot usar qualsevol servidor de qualsevol plataforma que implemente aquests protocols. Els exemples d'aquesta secció ofereixen instruccions per al SunOS 4.x, el SunOS 5.x (i.e. Solaris), i el GNU/Linux.
El mètode PXE d'arrencada TFTP, o entorn d'execució d'arrencada prèvia,
requereix un servidor TFTP que permeta l'ús de tsize
.
En un servidor Debian GNU/Linux, els paquets atftpd
i
tftpd-hpa
són adients; és recomanable el
tftpd-hpa
.
Hi ha dos servidors de BOOTP a GNU/Linux. El primér és el
bootpd de CMU. L'altre és també un servidor de
DHCP, el dhcpd de ISC. A Debian GNU/Linux són als
paquets bootp
i dhcp3-server
de Debian GNU/Linux respectivament.
Per fer servir el bootpd de CMU, elimineu el comentari
(o bé afegiu) la línia important al /etc/inetd.conf
. A
Debian GNU/Linux, podeu executar update-inetd --enable bootps
,
i després /etc/init.d/inetd reload
per aconseguir-ho.
En el cas que el servidor BOOTP no utilitze Debian, la línia en qüestió
seria com aquesta:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Ara, podeu crear un fitxer /etc/bootptab
. Aquest
té el mateix tipus de format críptic i familiar com els antics fitxers de
BSD printcap
, termcap
, i
disktab
. Vegeu la pàgina de manual del
bootptab
per obtenir més informació. Pel
bootpd de CMU, necessitareu saber l'adreça màquina (MAC)
del client. Un exemple de /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:
Necessitareu canviar al menys l'opció “ha”, que especifica la adreça màquina del client. L'opció “bf” especifica quin fitxer hauria de descarregar un client via TFTP; per més detalls, vegeu Secció 4.5.4, “Posar les imatges del TFTP al seu lloc”.
Per altra banda, configurar el BOOTP amb el dhcpd d'ISC
és molt fàcil, ja que considera els clients BOOTP com un cas un poc especial
de clients de DHCP. A algunes arquitectures necessitareu d'una configuració
complexa per arrencar els clients via BOOTP. Si aquest és el vostre cas,
llegiu la secció Secció 4.5.2, “Configurar un servidor DHCP”. En aquest cas, ho aconseguireu
de forma senzilla afegint la directiva allow bootp
al bloc de configuració per la xarxa que conté el client, i reiniciar el
dhcpd amb /etc/init.d/dhcpd3-server restart
.
Un servidor que es programari gratuït de DHCP és el dhcpd
d'ISC. A Debian GNU/Linux, es recomana utilitzar el paquet dhcp3-server
.
Hi ha un fitxer d'exemple de configuració per utilitzar-lo (normalment
/etc/dhcpd3/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; }
En aquest exemple, hi ha un servidor servername
que fa tota la feina del servidor DHCP, servidor de TFTP, i passarel·la de
xarxa. És casi segur que necessitareu canviar les opcions nom-de-domini, i
també el nom del servidor i l'adreça màquina del client. L'opció
filename
hauria de ser el nom del fitxer que
es descarregarà per TFTP.
Després d'editar el fitxer de configuració del dhcpd,
reengegueu-lo amb /etc/init.d/dhcpd3-server restart
.
Hi ha un altre exemple de dhcp.conf
que fa servir el
mètode Pre-boot Execution Environment (PXE) de TFTP.
option domain-name "example.com"; default-lease-time 600; max-lease-time 7200; allow booting; allow bootp; # El paràgraf següent necessita modificar-se per ajustar-lo al vostre cas 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; # la adreça de la passarel·la podria ser diferent # (l'accés a Internet de exemple) option routers 192.168.1.1; # poseu el dns que utilitzeu option domain-name-servers 192.168.1.3; } group { next-server 192.168.1.3; host tftpclient { # adreça màquina del client tftp hardware ethernet 00:10:DC:27:6C:15; filename "pxelinux.0"; } }
Adoneu-vos que l'arrancada amb PXE, el fitxer client de nom
pxelinux.0
és el carregador de l'arrencada, no una
imatge del nucli (vegeu baix Secció 4.5.4, “Posar les imatges del TFTP al seu lloc” ).
Per a posar en marxa el servidor TFTP, assegureu-vos primer que teniu
activat el tftpd. Per fer-ho, el fitxer
/etc/inetd.conf
ha de tenir quelcom semblant a la
línia següent:
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
Els paquets Debian solen configurar-ho per defecte correctament.
Històricament, els servidors TFTP utilitzen el directori
/tftpboot
per servir les imatges. Per altra banda,
els paquets de Debian GNU/Linux poden utilitzar altres directoris per complir
amb l'Estàndard de la Jerarquia del Sistema
de Fitxers. Per exemple, el tftpd-hpa
utilitza per defecte /var/lib/tftpboot
. Es possible
que hagueu d'ajustar els exemples de configuració d'aquesta secció en
conseqüència.
Vegeu el fitxer /etc/inetd.conf
i recordeu el directori
que s'utilitza com a paràmetre del in.tftpd[5]; ho necessitareu després.
Si heu canviat /etc/inetd.conf
, haureu de notificar-ho
al procés inetd que s'està executant. En màquines Debian,
executeu /etc/init.d/inetd reload
; en d'altres,
esbrineu la identitat (ID) del procés inetd i executeu
kill -HUP
.
pid-d'inetd
Després, col·loqueu la imatge d'arrencada TFTP que us calga, i que figura a Secció 4.2.1, “On trobar imatges d'instal·lació”, al directori d'imatges d'arrencada del tftpd. Haureu de fer un enllaç des d'aquest fitxer al fitxer que emprarà el tftpd per arrencar un client determinat. Malauradament, el nom del fitxer el determina el client TFTP, i no hi existeix cap norma ben establerta.
Per a arrencar amb PXE, sols cal el tarball
netboot/netboot.tar.gz
. Simplement extraieu-lo
al directori d'imatge d'arrencada del tftpd.
Assegureu-vos que el servidor dhcp està configurat per passar
pxelinux.0
al tftpd com a
nom del fitxer d'arrencada.
[5]
Totes les alternatives de l'in.tftpd que hi ha a Debian
per defecte haurien d'enregistrar les peticions TFTP al registre del
sistema. Algunes d'elles suporten un paràmetre -v
per mostrar una sortida més detallada.
Es recomana que comproveu aquests missatges registrats en el cas que patiu
problemes d'arrencada com a punt d'inici al diagnòstic de la causa dels
problemes.