Preparazione dei 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 d'installazione da un'altra macchina è necessario che i file d'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 DHCP o un server RARP o un server BOOTP. 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. 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. 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; Attivazione di un 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. Storicamente i server TFTP hanno usato /tftpboot come directory dalla quale servire le immagini. Invece, i pacchetti &debian; potrebbero usare una directory diversa in modo da essere conformi al Filesystem Hierarchy Standard. Per esempio tftpd-hpa usa /var/lib/tftpboot; potrebbe essere necessario modificare gli esempi presenti in questa sezione in base alla propria configurazione. Cercare all'interno del file /etc/inetd.conf la directory usata come argomento di in.tftpd e prenderne nota Tutte le versioni di in.tftpd disponibili in Debian registrano le richieste TFTP sul log di sistema e alcune versioni supportano l'opzione -v per aumentare la verbosità. In caso di problemi d'avvio, si raccomanda di verificare i messaggi nel log poiché sono un ottimo punto di partenza per la diagnosi della causa degli errori. , sarà necessaria in seguito. 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 SGI 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. Potrebbe essere 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. È necessario scaricare i seguenti file dalla directory netboot/: vmlinux initrd.gz yaboot yaboot.conf boot.msg 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. Avvio di macchine SPARC con TFTP Alcune architetture SPARC aggiungono il nome della sottoarchitettura al nome del file, per esempio SUN4M o SUN4C. 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. Purtroppo ci sono anche altre sottoarchitetture che usano file il cui nome è semplicemente ip-del-client-in-hex. Un modo semplice per determinare il codice in esadecimale dell'indirizzo IP è eseguire 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 Per ottenere il corretto nome del file è necessario cambiare tutte le lettere in maiuscole e, se necessario, aggiungere il nome della sottoarchitettura. Se tutti i passi sono stati eseguiti correttamente, usando il comando boot net da OpenPROM dovrebbe iniziare il caricamento dell'immagine. Se non è possibile trovare l'immagine, controllare nei log del server tftp quale nome è stato usato per richiederla. È 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 di macchine SGI con TFTP Sulle macchine SGI 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 con l'opzione filename= in /etc/dhcpd.conf.