Modulo 7

Sistemi operativi di rete: Knoppix

Istruzioni per rimasterizzare Knoppix per Netkit4TIC utilizzando Knoppix

Per masterizzare un DVD di Knoppix è consigliabile una partizione di swap di almeno 5GiB, una RAM di almeno 4GiB e una partizione libera di 15GiB.
Puoi ampliare l'area di swap anche con un file. Se ad esempio vogliamo creare un file di swap di 750MB dobbiamo per prima cosa costruirlo, poi inizializzarlo e quindi attivarci la swap:

# dd if=/dev/zero of=/swapfile bs=1M count=750k
# mkswap /swapfile
# swapon /swapfile

Per disattivare e rimuoverlo:

# swapoff /swapfile
# rm /swapfile

Nel seguito si farà riferimento alla seguente struttura di directory radicata nella partizione libera:

$KNO
  |
  +--master
  |
  +--source

dove la variabile d'ambiente KNO viene inizializzata come segue:

# export REL=601
# export PART=/mnt/sdx?
# export KNO=$PART/kno$REL

Estrazione del filesystem compresso

Copia tutto i due filesystem decompressi in $KNO/source per la personalizzazione:

# cp -Rp /KNOPPIX/* $KNO/source/   \
  cp -Rp /KNOPPIX2/* $KNO/source/

e prenditi una pausa caffè.

Nella directory $KNO/master copiamo tutto il contenuto di /cdrom ad eccezione del file /cdrom/KNOPPIX/KNOPPIX che verrà rigenerato da noi stessi più tardi.

# (cd /mnt-system; \
   find . -size -15000k -type f \
        -exec cp -p --parents {} $KNO/master/ \; )

Personalizzazione di Knoppix

Knoppix è derivato da Debian e quindi le operazioni sui pacchetti e la loro configurazione sono effettuate con apt e/o dpkg. Per modificare le impostazioni degli utenti basta modificare i files all'interno di /etc/skel mentre per cambiare lo sfondo basta sostitutire il file background.jpg.

Facciamo chroot in source:

# mount --bind /dev $KNO/source/KNOPPIX/dev
# mount --bind /proc $KNO/source/KNOPPIX/proc
# chroot $KNO/source

Nel repository del questo progetto c'è un file che contiene tutti i package che vengono rimossi. Vista la criticità dell'intera installazione, suggeriamo di cambiare il meno possibile. In particolare per installare altri pacchetti consigliamo di usare moderatamente solamente dpkg.

Per uscire dall'ambiente chroot:

# exit
# umount $KNO/source/KNOPPIX/proc
# umount $KNO/source/KNOPPIX/dev

Personalizzazione di Netkit

L'ambiente Netkit4TIC è installato nella directory /usr/local/netkit. Variazioni al kernel o al filesytem delle macchine virtuali devono riferirsi quindi alle sottodirectory kernel o fs rispettivamente. Anche in questo caso per le modifiche al filesystem della macchina virtuale si usa chroot:

# mkdir /mnt/Netkit4TIC
# mount -o loop /usr/local/netkit/fs/Netkit4TIC.fs /mnt/Netkit4TIC
# mount --bind /dev /mnt/Netkit4TIC/dev
# mount --bind /proc /mnt/Netkit4TIC/proc
# chroot /mnt/Netkit4TIC

Per uscire dall'ambiente chroot:

# exit
# umount /mnt/Netkit4TIC/dev
# umount /mnt/Netkit4TIC/proc

Preparazione del live CD

Crea il file KNOPPIX come filesystem compresso:

# mkisofs -R -l -V "Netkit4TIC filesystem" -hide-rr-moved \
          -v $KNO/source/ | \
          create_compressed_fs - 65536 > \
          $KNO/master/KNOPPIX/KNOPPIX

Crea il file con i codici sha1sum dei file del CD:

# (cd $KNO/master/; find -type f \
    -not -name md5sums -not -name boot.cat -not -name isolinux.bin \
    -exec sha1sum {} \; > $KNO/master/KNOPPIX/sha1sums)

Crea l'immagine iso da usare per masterizzare il live DVD:

# mkisofs -l -r -J -V "Netkit4TIC" -hide-rr-moved -v \
          -b KNOPPIX/boot.img -c KNOPPIX/boot.cat \
          -o $KNO/Netkit4TIC.iso \
          $KNO/master/

Possiamo ora testare l'immagine appena costruita:

$ qemu -m 256 -cdrom Netkit4TIC.iso

e se vogliamo utilizzare una finestra 800x600 basterà specificare al prompt fb800x600 screen=800x600 (screenshot) e la termine possiamo anche realizzare una piccola esperienza virtuale di due host connessi allo stesso dominio di collisione di cui riportiamo uno screenshot ottenuto sul mio buon vecchio PII 400 con 500MB di RAM (pace all'anima sua).

Ora non resta che verificare che il supporto fisico sia di dimensione sufficiente a contenere Netkit4TIC.iso e alla fine bruciare un dvd inserendolo nel device $DEVICE:

# cdrecord -v dev=$DEVICE speed=4 -dao driveropts=burnfree -eject \
    -data $KNO/Netkit4TIC.iso

In seguito per verificare il corretto funzionamento dell'operazione confrontiamo il risultato dei comandi:

# cat $DEVICE | md5sum
# md5sum $KNO/Netkit4TIC.iso
Creative Commons License FREE THE MOUSE Valid HTML! Sandro Doro (email me)
Ultima modifica: $Date: 2009-10-03 09:37:26 $