Avviare aptosid attraverso una rete (network block device - nbd)

Attenzione: dnsmasq include un server dhcp che può andare in conflitto con un server dhcp già esistente nella rete (ad es. quello del router).L'opzione più sicura è quella di utilizzare un solo server dhcp su qualsiasi rete. Questo significa che devono essere disabilitati gli altri server dhcp presenti nella stessa rete. Le opzioni del proxy dnsmasq evidenziate più avanti dovrebbero essere in grado di coesistere con un altro server dhcp nella stessa rete, comunque non provarle a meno che si è amministratori della rete e si è pronti a fronteggiare qualsiasi conseguenza imprevista che potrebbe sorgere.

Le basi

L'avvio da rete per prima cosa richiede che si abbia una macchina capace di farlo e che può essere connessa, tramite una rete che si amministra, ad una macchina che si può impostare per offrire servizi di avvio da rete.

Non si deve fare nella rete del lavoro o in ogni altra rete che non si controlla, a meno che siete proprietari della rete o si abbia il permesso e l'assistenza di coloro che lo sono. Se si co-opera in una rete più grande si possono studiare tutte le opzioni in dnsmasq, come limitare le interfacce che vengono ascoltate oppure i client a cui rispondere, questo per restringere l'impatto della configurazione sulla rete.

I prerequisiti

Una iso aptosid 2009-04 (o successiva) avviata da utilizzare come server per l'avvio da rete. Le istruzioni dovrebbero essere le stesse con ogni aptosid o debian sid aggiornata e dovrebbero fornire tutte le risposte di cui si ha bisogno per l'utilizzo in altri sistemi. Linux è richiesto per servire le periferiche nbd.

dnsmasq verrà utilizzato per fornire tutto il necessario per le fasi di avvio iniziali, di nuovo, non dovrebbe essere difficile applicare le conoscenze richieste ad altri software.

Installazione
apt-get install nbd-server dnsmasq

Impostare nbd-server

Presumendo che la ISO si trovi in /dev/scd0, (potrebbe essere così se si è avviato da cd, altrimenti cambiare con il file o la periferica adatta), si può configurare un file conf per nbd-server chiamato nbd-aptosid.conf con una sezione denominata aptosid-iso per esportare il cd eseguendo i seguenti comandi:

echo '[generic]' > nbd-aptosid.conf
nbd-server 0.0.0.0:10809 /dev/scd0 -o aptosid-iso >> nbd-aptosid.conf

L'header generica è sempre richiesta. Se si vuole configurare nbd-server per lavorare automaticamente in un sistema reale si deve configurare /etc/nbd-server.conf invece. Ci sono tante altre opzioni per nbd-server di quelle mostrate qui, vedere man nbd-server.

Per far partire il server adesso, come utente normale e senza preoccuparsi per la configurazione o copiare il file in /etc/nbd-server.conf, si può eseguire:

nbd-server -C nbd-aptosid.conf

L'obiettivo di nbd-server non deve essere una iso o un cd/dvd/penna usb, deve solo contenere una immagine filesystem adatta.

dnsmasq

L'esempio seguente da per scontato che si sta eseguendo in una rete semplice dove la macchina possiede una connessione ethernet la quale è configurata tramite dhcp da un'altra macchina e che i client che si avviano tramite rete possono utilizzare per configurare le proprie interfacce tramite dhcp.

Le principali e rilevanti opzioni per dnsmasq per avviare da rete aptosid sono configurare un percorso per i file del server tftp ed un file per avviare dallo stesso.

Creare una directory tftp per avviare in /home (si può creare dove si preferisce, anche in un altro posto). Il percorso diventerà /home/tftp.

Quindi creare un file di nome pxe-aptosid.conf ed incollarci le righe seguenti:

dhcp-range=0.0.0.0,proxy
pxe-service=x86PC, "boot linux", pxelinux
enable-tftp
tftp-root=/home/tftp
tftp-secure

Quando si usa un proxy dhcp si deve fornire un menu pxe con pxelinux come unica voce che verrà avviata automaticamente. Questo è il motivo della sola voce pxe-service qui sopra.

Come root, muovere il nuovo file creato pxe-aptosid.conf in /etc/dnsmasq.d/:

su
mv pxe-aptosid.conf /etc/dnsmasq.d/

Nota: per una rete (ad es. 192.168.0.*) senza altri server dhcp si possono invertire le prime due linee per:

dhcp-range=192.168.0.100,192.168.0.199,1h
dhcp-boot=pxelinux.0

Per rendere disponibili gli indirizzi IP partendo da 192.168.0.100 fino a 192.168.0.199 con un tempo di lease di un ora, e per dare il nome pxelinux.0 al file da avviare soltanto come parte della richiesta dhcp (quando si utilizza il proxy invece si fornisce un menu pxe con una sola voce chiamata pxelinux che quindi lo farà partire automaticamente). Questo probabilmente non configurerà la rete come si vuole a meno che il server dnsmasq sia anche il server dns e il gateway per i client.

Per abilitare il nuovo file togliere il commento all'impostazione conf-dir=/etc/dnsmasq.d alla fine di /etc/dnsmasq.conf e quindi riavviare dnsmasq.

dnsmasq ha molte opzioni e può funzionare sia come dns server che come dhcp, pxe, tftp. Quanto sopra è solo una minima panoramica degli elementi necessari per utilizzare pxelinux.

tftp

tftp è l'equivalente della directory boot in rete. Utilizzando l'esempio della directory /home/tftp è necessario popolarla. Se il cdrom è montato su /fll/scd0:

cp /fll/scd0/boot/isolinux/* /home/tftp
mkdir /home/tftp/pxelinux.cfg
mv /home/tftp/isolinux.cfg /home/tftp/pxelinux.cfg/default
mkdir /home/tftp/boot
cp /fll/scd0/boot/vmlin* /fll/scd0/boot/initr* /fll/scd0/boot/memtest* /home/tftp/boot/
cp /usr/lib/syslinux/pxelinux.0 /home/tftp/
# required for the tftp-secure option to dnsmasq
chown -R dnsmasq.dnsmasq /home/tftp/*

Adesso si possono modificare le opzioni di avvio come si vuole in /home/tftp su entrambi i file pxelinux.cfg/default e gfxboot.cfg.

In particolare suggeriamo che nella sezione [install] venga impostato install= a install=nbd, install.nbd.server all'IP del server nella rete e install.nbd.port al nome della sezione nbd export, per esempio aptosid-iso (dal momento che gli nbd export adesso hanno un nome invece che un semplice numero di porta).

Alternativamente si può disabilitare completamente il menu F3 e modificare le linee di comando del kernel in qualcosa come:

fromhd=/dev/nbd0 root=/dev/nbd0 nbdroot=192.168.1.23,aptosid-iso nonetwork
codice di avvio toram

Se si aggiunge toram alle opzioni di avvio, le macchine con abbastanza RAM si staccheranno dal server non appena avranno copiato il file e le macchine senza RAM sufficiente andranno avanti e si avvieranno normalmente. Almeno 1 GB di RAM è richiesto per toram (idealmente 2 GB o più).

Avvio da rete

Assicurarsi che il BIOS del PC client sia impostato per utilizzare Boot from Network.

Se il BIOS supporta l'avvio da rete, la macchina è connessa ad una rete con il server ed il kernel aptosid e initrd.img supportano la scheda di rete, si dovrebbe essere in grado di avviare aptosid dalla rete.

Alcune scehde di rete potrebbero richiedere firmware non-free che richiede di ricostruire l'immagine initrd per includerlo.

Page last revised 11/06/2011 1305 UTC