back

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
back