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
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/ \; )
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.
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
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
Sandro Doro (email me)