Creiamo sul Desktop una cartella che chiamiamo temp, rinominiamo l'immagine appena scaricata e spostiamola all'interno di questa cartella:
$ mkdir temp $ mv debian-503-i386-netinst.iso temp/NetInstImage.iso
Il file appena scaricato, seppur perfettamente funzionante, non fa esattamente quello che vogliamo noi. Se masterizzassimo l'immagine su un supporto CD, avviando la macchina questa porterebbe ad un installazione classica: menu dell'installer, con poi tutte le domande a cui rispondere per definirne la configurazione.
Vediamo quindi come fare perchè tutto proceda in modo automatizzato.
La versatilità di Debian (e di linux in generale) da questo punto di vista è incredibile. È qui che entra in gioco il preseeding ovvero l'utilizzo di un file contenente le risposte alle domande di configurazione che vengono poste durante l'installazione del sistema.
Per velocizzare il procedimento ho creato uno script apposito, che fa essenzialmente quanto segue:
- monta l'immagine in una cartella temporanea;
- modifica l'initrd inserendo il file per il preseeding;
- modifica l'installer in modo da avviare automaticamente l'installazione;
- aggiorna l'md5sum;
- crea una nuova iso;
Ancora da terminale, ci spostiamo nella cartella temp e creiamo il file:
$ cd temp $ gedit ISO_maker.sh
e copiamo all'interno lo script riportato qui sotto:
#!/bin/bash # # Script Bash per l'inserimento del file preseed nell'initrd all'interno # dell'iso di Debian. # Necessario: # - immagine di Debian NetInstall rinominata in NetInstImage.iso # - file preseed.cfg nella stessa cartella dell'immagine iso # - pacchetto rsync # - modulo loop attivo. mkdir -p loopdir mount -o loop NetInstImage.iso loopdir rm -rf cd mkdir cd rsync -a -H --exclude=TRANS.TBL loopdir/ cd umount loopdir # Modifica all'initrd mkdir irmod cd irmod gzip -d < ../cd/install.386/initrd.gz | \ cpio --extract --verbose --make-directories --no-absolute-filenames