Preparare i file per l'avvio TFTP da rete
Se la propria macchina è connessa a una rete locale allora è possibile
avviarla tramite TFTP da un'altra macchina. Se si vuole
avviare il sistema di installazione da un'altra macchina è necessario che
i file di avvio siano contenuti in particolari directory di questa macchina
e che sia configurata per gestire l'avvio della propria macchina.
È necessario attivare un server TFTP e, per più macchine, un server
BOOTP o un server
RARP o un server DHCP.
Il RARP (Reverse Address Resolution
Protocol) è un metodo per comunicare ai client quale indirizzo IP usare.
In alternativa è possibile usare il protocollo BOOTP.
BOOTP è un protocollo IP che comunica a
un computer qual è il proprio indirizzo IP e dove può recuperare dalla rete
un'immagine per l'avvio.
Sui sistemi VMEbus esiste un'altra alternativa:
l'indirizzo IP può essere configurato manualmente nella ROM di avvio.
Il DHCP (Dynamic Host Configuration
Protocol) è una estensione più flessibile ma compatibile all'indietro di
BOOTP. Alcuni sistemi possono essere configurati solo tramite DHCP.
Su PowerPC, se si possiede una macchina Power Macintosh NewWorld, è
consigliabile usare DHCP anziché BOOTP. Alcune delle macchine più recenti
non sono capaci di fare l'avvio usando BOOTP.
Diversamente dall'Open Firmware presente sulle macchine Sparc e PowerPC, la
console SRM non usa RARP per procurarsi l'indirizzo IP
e quindi si deve obbligatoriamente usare BOOTP per fare l'avvio da rete su
Alpha
I sistemi Alpha possono essere avviati dalla rete anche usando DECNet MOP
(Maintenance Operations Protocol) ma questo metodo non è trattato in questo
manuale. Presumibilmente l'operatore dell'assistenza OpenVMS sarà felice di
prestare il proprio aiuto per poter usare MOP per l'avvio di Linux su Alpha.
. È anche possibile inserire la configurazione IP per le
interfacce di rete direttamente dalla console SRM.
Alcune delle macchine HPPA più vecchie (p.e. 715/75) usano RBOOTD anziché
BOOTP, in Debian è disponibile il pacchetto rbootd.
Il TFTP (Trivial File Transfer Protocol) è usato per fornire l'immagine di
avvio al client. Teoricamente si può usare un qualsiasi server, su qualsiasi
architettura che implementi questo protocollo. Negli esempi di questa
sezione sono presentati i comandi per SunOS 4.x, SunOS 5.x (noti come
Solaris) e GNU/Linux.
Per usare il metodo di avvio PXE (Pre-boot Execution Environment) di TFTP
è necessario un server TFTP con supporto per tsize.
Su &debian; questo tipo di server è contenuto nei pacchetti
atftpd e tftpd-hpa; si
consiglia l'uso di quest'ultimo.
&tftp-rarp.xml;
&tftp-bootp.xml;
&tftp-dhcp.xml;
Attivare il server TFTP
Per avere un server TFTP pronto all'uso è necessario assicurarsi che
tftpd sia attivo. Di solito viene attivato da una riga
simile a questa in /etc/inetd.conf:
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
Solitamente i pacchetti Debian impostano correttamente il server durante
l'installazione.
Cercare all'interno di questo file la directory usata come argomento di
in.tftpd e prenderne nota, sarà necessaria in seguito.
L'opzione -l attiva su alcune versioni di
in.tftpd la registrazione di tutte le richieste sul log
di sistema, è utile per la diagnosi degli errori durante l'avvio. Se è
stato necessario modificare /etc/inetd.conf si deve
passare la nuova configurazione al processo inetd in
esecuzione, su una macchina Debian eseguire /etc/init.d/inetd
reload; su macchine diverse si deve scoprire qual è l'ID del
processo inetd ed eseguire kill -HUP
pid-di-inetd.
Se si intende installare Debian su una macchina SGI e il server TFTP è su una
macchina GNU/Linux con Linux 2.4 è necessario eseguire comando seguente sul
server:
# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
per disattivare il Path MTU discovery, in caso contrario la PROM delle Indy
non può scaricare il kernel. Inoltre, assicurarsi che i pacchetti TFTP siano
inviati da una porta inferiore alla 32767 altrimenti il trasferimento si
interromperà dopo il primo pacchetto. Anche questo bug della PROM può essere
aggirato con Linux 2.4.X eseguendo il comando seguente
# echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range
per regolare l'intervallo delle porte sorgente usate sul server TFTP Linux.
Posizionamento delle immagini TFTP
Spostare le immagini TFTP di cui si ha bisogno (come descritto in
) nella directory delle immagini di avvio per
TFTP. Generalmente questa directory è /tftpboot. È
necessario fare un link da questa directory al file che
tftpd dovrà utilizzare per l'avvio di un particolare
client. Sfortunatamente il nome del file è stabilito dal client TFTP e non
esiste uno standard.
Sulle macchine Power Machintosh NewWorld è necessario configurare il
bootloader yaboot come immagine di avvio TFTP. Sarà poi
yaboot a recuperare le immagini del kernel e del ramdisk
sempre tramite TFTP. Per l'avvio dalla rete usare
yaboot-netboot.conf, lo si deve copiare nella directory
TFTP e poi rinominarlo in yaboot.conf.
Per l'avvio PXE tutte le operazioni necessarie sono già state fatte in
netboot/netboot.tar.gz. Estrarre questo tarball nella
directory delle immagini di avvio tftpd, assicurarsi che
il server dhcp sia configurato per passare /pxelinux.0
come file da avviare a tftpd.
Per l'avvio PXE tutte le operazioni necessarie sono già state fatte in
netboot/netboot.tar.gz. Estrarre questo tarball nella
directory delle immagini di avvio di tftpd, assicurarsi
che il server dhcp sia configurato per passare
/debian-installer/ia64/elilo.efi come file da avviare
a tftpd.
Immagini TFTP per DECstation
Per le DECstation esistono più file tftpimage, uno per ciascuna
sottoarchitettura, che contengono sia il kernel che l'installatore.
Il nome delle immagini segue questa convenzione:
sottoarchitettura/netboot-boot.img. Se si
usano le impostazioni di BOOTP/DHCP descritte in precedenza copiare
il file tftpimage che si vuole usare come
/tftpboot/tftpboot.img.
Il firmware DECstation fa l'avvio del sistema con TFTP usando il comando
boot #/tftp, dove
# è il numero del device TurboChannel da cui
avviare; sulla maggior parte delle Decstation è 3
. Se il
server BOOTP/DHCP non fornisce il nome del file o se si necessita di
passare altri parametri, si possono aggiungere usando questa sintassi:
boot #/tftp/nomefile param1=valore1 param2=valore2 ...
Parecchie versioni del firmware DECstation hanno un problema relativo
all'avvio da rete: il trasferimento inizia ma dopo un po' si ferma restituendo
a.out err. Questo problema può avere varie
cause:
Il firmware non risponde alle richieste ARP durante i trasferimenti TFTP.
Questo può comportare un timeout ARP e il blocco del trasferimento. La
soluzione è aggiungere staticamente l'indirizzo MAC della scheda Ethernet
della DECstation nella tabella ARP del server TFTP. Questa operazione può
essere fatta eseguendo arp -s
indirizzo-IP
indirizzo-MAC con l'utente root sulla
macchina che fa da server TFTP. L'indirizzo-MAC della DECstation può essere
letto inserendo cnfg al prompt del firmware DECstation.
Il firmware ha un limite sulla dimensione dei file che possono essere avviati
tramite TFTP.
Ci sono delle versioni del firmware che non possono essere assolutamente
avviate tramite TFTP. Una panoramica sulle varie versioni del firmware può
essere trovata nelle pagine web di NetBSD:
.
Avvio TFTP su Alpha
Su Alpha si deve specificare il nome del file (come percorso relativo alla
directory con l'immagine di avvio) usando l'opzione
-file del comando boot di SRM
oppure impostando la variabile d'ambiente BOOT_FILE.
In alternativa il nome del file può essere passato tramite BOOTP (con
dhcpd di ISC usare l'istruzione
filename). Diversamente da Open Firmware su SRM
non c'è un nome predefinito per il file quindi si
deve specificare il nome di un file con uno dei metodi
appena descritti.
Avvio TFTP su SPARC
Le architetture SPARC usano dei nomi per le sottoarchitetture, per esempio
SUN4M
o SUN4C
e in alcuni casi non c'è il nome
della architettura, quindi il file cercato dal client è semplicemente
ip-del-client-in-hex. Di conseguenza se la
sottoarchitettura del proprio sistema è SUN4C e il suo indirizzo IP è
192.168.1.3, il nome del file dovrebbe essere
C0A80103.SUN4C. Un modo semplice per determinarlo è
inserire il seguente comando nella shell (si suppone che l'IP della macchina
sia 10.0.0.4).
$ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4
Questo comando restituisce l'IP in esadecimale; per ottenere il corretto
nome del file è necessario cambiare tutte le lettere in maiuscole e, se
necessario, aggiungere il nome della sottoarchitettura.
È anche possibile forzare alcuni sistemi sparc a cercare un particolare file
aggiungendone il nome alla fine del comando boot di OpenPROM, per esempio
boot net my-sparc.image. Questo file deve essere
nella directory in cui il server TFTP ricerca i file.
Avvio TFTP su BVM/Motorola
Per i sistemi BVM e Motorola VMEbus copiare i file &bvme6000-tftp-files;
in /tftpboot/.
Poi configurare le ROM di avvio o il server BOOTP per caricare inizialmente i
file tftplilo.bvme o tftplilo.mvme
dal server TFTP. Si consulti il file tftplilo.txt per
la propria sottoarchitettura per ulteriori informazioni sulla configurazione
specifica del sistema.
Avvio TFTP su SGI Indy
Sulle macchine SGI Indy si può fare affidamento su bootpd
per avere il nome del file TFTP; infatti può essere fornito con l'opzione
bf= in /etc/bootptab oppure
come l'opzione filename= in
/etc/dhcpd.conf.
Avvio TFTP su Broadcom BCM91250A
Non è necessario fare una particolare configurazione di DHCP perché si deve
passare il percorso completo del file da caricare a CFE.