Modulo 7

Sistemi operativi di rete: Knoppix

Istruzioni per rimasterizzare Knoppix per Netkit4TIC utilizzando Knoppix

Per masterizzare Knoppix è consigliabile una partizione di swap di almeno 750MB, una RAM altrettanto grande e una partizione di 4GB.
Se se vuole utilizzare un'unica partizione si deve creare l'area di swap come file. Se ad esempio vogliamo creare un file di swap di 750MB dobbiamo per prima cosa costruirlo, poi inizializzarlo e quindi attivarlo:

# 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:

$KNO
  |__master
  |__source

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

# export REL=382
# export PART=/mnt/hdx?
# export KNO=$PART/kno$REL

Estrazione del filesystem compresso

Tutto il filesystem di Knoppix si trova nel file compresso presente in /cdrom/KNOPPIX/KNOPPIX. Occupa circa 690 MB e una volta decompresso richiede 1.9 GB circa.

Copiamo tutto il filesystem decompresso in $KNO/source per la personalizzazione:

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

Il tempo su un PII400 è di 22 minuti circa.

Nella directory $KNO/master copiamo tutto il contenuto di /cdrom ad eccezione del file /cdrom/KNOPPIX/KNOPPIX (circa 694 MB) che andremo a sostituire con il nuovo KNOPPIX ottenuto comprimendo $KNO/source. Anche il file boot.cat va eliminato in quanto viene creato automaticamente.

# (cd /cdrom; \
   find . -size -10000k -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. Rimandiamo alla lettura di apt-howto per la manualistica. Per modificare le impostazioni degli utenti basta modificare i files all'interno di /etc/skel; per cambiare lo sfondo basta sostitutire il file background.jpg. Ci sono delle buone indicazioni per personalizzare le impostazioni degli utenti o per usare X nell'ambiente chrootato in stirnimann e in sourceforge.

Facciamo chroot in source:

# chroot $KNO/source
# mount -t proc /proc proc

Vista la criticità dell'intera installazione, suggeriamo di cambiare il meno possibile. In particolare per installare altri pacchetti consigliamo di usare moderatamente solamente dpkg.

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
# chroot /mnt/Netkit4TIC
# mount -t proc /proc proc

Per uscire dall'ambiente chroot:

# umount /proc
# exit

A volte mi è capitato che umount falliva indicando che la risorsa era busy. In genere questo era dovuto al fatto che era stato montato automagicamente un driver usb e quindi il tutto si risolveva dando il comando:

# umount /proc/bus/usb

Preparazione del live CD

Crea il file KNOPPIX come filesystem compresso in circa 60 minuti:

# 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 md5sum dei file del CD:

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

Crea l'immagine iso da usare per masterizzare il live CD (circa 1 minuto):

# 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). Nel caso avessimo molta pazienza possiamo anche realizzare una piccola esperienza virtuale di due host connessi allo stesso dominio di collisione di cui riportiamo uno screenshot ottenuto dopo circa 70 minuti! (PII 400 con 500MB di RAM).

Ora non resta che verificare che il supporto fisico sia di dimensione sufficiente a contenere Netkit4TIC.iso e alla fine bruciare un cd (circa 20 minuti) 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: 2005-05-15 09:59:14 $