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 BOOTP , o un servidor DHCP.
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.
Hi ha dos servidors de BOOTP a GNU/Linux, el bootpd de
CMU i altre que és també un servidor de DHCP, dhcpd de
ISC, que són als paquets bootp i
dhcp 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 altres, 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.3.4, “Poseu 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.3.2, “Configurar un servidor DHCP”. En altre casos, 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/dhcpd restart.
Un servidor que es programari gratuït de DHCP és el dhcpd
d'ISC. A Debian GNU/Linux, podeu trobar-lo al paquet dhcp.
Hi ha un fitxer d'exemple de configuració per utilitzar-lo (normalment
/etc/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;
}
Avís: el paquet nou de dhcp3 (i preferible), fa
servir /etc/dhcp3/dhcpd.conf.
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/dhcpd restart.
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.
Examineu el fitxer i recordeu el directori que heu indicat com a argument
de l'in.tftpd; us caldrà després. En algunes versions
de l'in.tftpd, l'argument -l
fa que s'arxiven tots els fitxers de registre de peticions al sistema;
això és d'utilitat a l'hora de fer comprovacions d'errors d'arrencada. Si
heu hagut de canviar el /etc/inetd.conf, cal que
indiqueu al procés actiu inetd que el fitxer ha canviat.
En màquines Debian s'ha d'executar /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. Normalment, el directori té el nom
/tftpboot. 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 DECstations, hi ha fitxers tftpimage de cada subarquitectura,
els quals contenen el nucli i l'instal·lador en un únic fitxer. La
convenció quant al nom és
subarquitectura/netboot-boot.img.
Copieu el fitxer tftpimage que voleu fer servir a
/tftpboot/tftpboot.img si esteu emprant els
ajusts del BOOTP/DHCP dels exemples descrits amunt.
El firmware de les DECstation arrenca mitjançant el TFTP amb l'ordre
boot, on
#/tftp# és el número del dispositiu TurboChannel
des del qual s'arrenca. En la majoria de DECstations és “3”.
Si el servidor BOOTP/DHCP no proporciona el nom del fitxer o necessiteu
passar-hi paràmetres addicionals, podeu afegir-los amb la següent
sintaxi:
boot #/tftp/nom-de-fitxer param1=valor1 param2=valor2 ...
Nombroses revisions del firmware DECstation tenen un problema respecte
de l'arrencada en xarxa: la transferència comença, però al cap d'una
estona s'atura amb un a.out err. Això
pot ser degut a:
El firmware no respon a les peticions ARP durant la transferència TFTP,
cosa que provoca un missatge d'acabament del temps de l'ARP i l'aturada
de la transferència. La solució consisteix a afegir l'adreça MAC de la
targeta Ethernet de la DECstation estàticament a la taula ARP del servidor
TFTP. Això es fa executant arp -s
com a superusuari a la
màquina que fa de servidor TFTP. L'adreça MAC de la DECstation es pot
obtenir introduint cnfg a l'indicador del firmware de
la DECstation.
adreça-IP
adreça-MAC
El firmware té un límit de mida dels fitxers que poden arrencar-se mitjançant el TFTP.
Hi ha també revisions del firmware revisions que no poden arrencar-se amb el TFTP. Podeu trobar informació sobre les diferents revisions del firmware a les pàgines web del NetBSD: http://www.netbsd.org/Ports/pmax/board-list.html#proms.