HOWTO per creare la propria distribuzione a partire da una knoppix live Preambolo comando per salvare questo documento, dopo aver creato la dir di arrivo. cp comandi-per-creare-la-distro /mnt/drive/knoppix-tmp/master/KNOPPIX Per creare una nuova partizione , avendo spazio disco libero, posso usare cfdisk oppure fdisk Per formattare la partizione posso usare mke2fs. Oppure posso usare Qparted (da menu K -> System -> Qparted ) Per creare la distro live ho bisogno di 1 Gb di memoria ram, se ne ho dimeno posso creare un'area swap della dimensione mancante, ipotizzo di avere 256 Mb di ram e pertanto ho bisogno di 750 Mb di swap: cd /mnt/drive/knoppix-tmp (mi posiziono nella dir di lavoro che avrò creato al punto 3 più avanti ) dd if=/dev/zero of=swapfile bs=1M count=750 (costruisco il filesystem) mkswap swapfile (monto il filesystem) swapon swapfile (attivo la swap) Per cambiare la password di root: -aprire un terminale -digitare "su" -digitare "passwd root" -digitare nuova password e confermare Per cercare un file a partire dalla root ( cd / ) -digitare " find / -name knoppix-installer" (knoppix-installer è lo script per installare la live su hard-disk) Per digitare le parentesi graffe: -bisogna premere shift+AltGr e la parentesi quadra Altri comandi utili: knoppix@0[knoppix]$ su (divento superutente) Inizio: Inserire il cd e avviare la macchina ( ovviamente il bios deve essere settato per fare il boot da cd) 1) Aprire un terminale (in kde andare in menu: K -> KNOPPIX -> Root Shell) 2) Verificare che internet funzioni ed eventualmente configuriamolo (in kde andare in menu: K -> KNOPPIX -> Network/Internet) 3) Montiamo la partizione che utilizzeremo per il lavoro, deve essere grande almeno 3Gb e formattata EXT3 root@0[knoppix]# mkdir /mnt/drive (creo il mount-point) root@0[knoppix]# mount -rw /dev/hda3 /mnt/drive (monto la partizione hda3 che avevo creato sul mount-point) root@0[knoppix]# mkdir /mnt/drive/knoppix-tmp (creo la dir di lavoro) root@0[knoppix]# hdparm -d1 /dev/hda (attiva il dma per velocizzare l'accesso al disco) /dev/hda: setting using_dma to 1 (on) using_dma = 1 (on) 4) Creo due cartelle una per la distro di partenza e una per la distro che devo creare # mkdir -p /mnt/drive/knoppix-tmp/master/KNOPPIX (creo la cartella di partenza) # mkdir -p /mnt/drive/knoppix-tmp/source/KNOPPIX (creo la cartella di arrivo) # cp -Rp /KNOPPIX/* /mnt/drive/knoppix-tmp/source/KNOPPIX (copio la distro nella cartella di lavoro) 5)Copio i file di boot ed il file di presentazione della distro dal cdrom alla cartella di lavoro # cp -ar /cdrom/boot /mnt/drive/knoppix-tmp/master/boot (copio tutta la dir e sotto dir di boot) # cp /cdrom/index.html /mnt/drive/knoppix-tmp/master/ (copio il file di preentazione) 6) Copio tutti i file di knoppix per poterli poi modificare # cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/drive/knoppix-tmp/master/ \; 6a) Se sto usando una distro da dvd devo usare una dimensione di 15000k invece di 10000k e devo copiare da KNOPPIX2 con cp /cdrom/KNOPPIX KNOPPIX2 /mnt/drive/knoppix-tmp/master/KNOPPIX/ 7) A questo punto ho copiato tutto nella cartella di lavoro, source e anche le parti addizionali nella cartella di arrivo , master. 8) Quindi siamo al buono per modificare la distro, utilizzando il comando "chroot" creiamo una sessione all'interno della copia che abbiamo creato, ovvero useremo la copia come se fosse la distro attiva. # chroot /mnt/drive/knoppix-tmp/source/KNOPPIX (cambio root, ovvero cambio radice) root@non è un tty[/]# (il prompt mi dice che ho cambiato root) 9) Per aggiungere software dai repository debian devo attivare la rete: root@non è un tty[/]# mount -t proc /proc proc (monto la proc) per l'operazione seguente devo ritornare nell'ambiente originale, non posso farlo sotto chroot, e quindi apro un altro terminale: cp /etc/dhcpc/resolv.conf /mnt/drive/knoppix-tmp/source/KNOPPIX/etc/dhcpc/resol.conf (copio il file di conf del dhcp) 10) Ritornare al terminale precedente, chroot ed incominciare a togliere o aggiungere software. # apt-get update|less (mi aggiorno la lista dei pacchetti software inviandola ad un pager, per uscire ": e Q") # dpkg-query -l|less (vedo la lista dei programmi installati) # apt-get remove --purge (comando per rimuovere un pacchetto) # apt-get install (comando per installare un nuovo programma da internet) # apt-get clean (comando da utilizzare al termine di tutto per rimuovere i file scaricati e pulire la cache) Attenzione non tutti i programmi si possono rimuovere, come per esempio il kernel, libc e gli script di init, se non si è sicuri e meglio lasciarli. 11) Esempio: per rimuovere l'editor "Zile" , installare "Nano" e ripulire l'ambiente digitare: # apt-get remove --purge Zile # apt-get install nano # apt-get clean 12) Personalizzare il comportamento della distro, in cd /etc/skel (troviamo i file di configurazione di default dei nuovi utenti) ls -a (per vederli) cd /etc/init.d (trovo gli script di avvio per i programmi/servizi) cd /etc/rc5.d (in questa cartella posso aggiungere altri script per farli avviare prima di X) 13) Con il seguente comando posso testare un programma sotto X (il window manager) senza che lo vada cercare in chroot # export DISPLAY=localhost:0 14) Per modificare lo sfondo della scrivania,In un altro terminale digito: chmod +w /mnt/drive/knoppix-tmp/master/KNOPPIX/background.jpg (rendo lo sfondo scrivibile) gimp /mnt/drive/knoppix-tmp/master/KNOPPIX/background.jpg (modifico lo sfondo) 15) Per modificare lo splash screen iniziale utilizzando il pacchetto syslinux, sempre da un altro terminale: cd /mnt/drive/knoppix-tmp/master/boot/isolinux ; chmod +w logo.16 (mi sposto nella dir, rendo scrivibile logo.16) lss16toppmlogo.ppm (converto il formato) gimp logo.ppm (lo edito e lo salvo come .gif a 14 colori) giftopnmlogo.ppm (lo riconverto da gif a ppm) ppmtolss16logo.16 (lo riconverto da ppm a logo.16) 16)Per modificare il file di help di avvio: cd /mnt/drive/knoppix-tmp/master (mi posizione nella dir) xedit index.html (lo edito con xedit) 17) Al termine di tutte le mie modifiche lascio l'ambiente di chroot digitando: root@non è un tty[/]# umount /proc e poi Ctrl+D ed esco root@non è un tty[/]# exit root@0[cdrom]# 18) Mi faccio un giro nell'ambiente di lavoro per, eventualmente cancellare qualche file temporaneo e verificare il lavoro fatto, utilizzando, magari il programma "mc" 19) Ora da terminale ricreo il filesystem compresso che costituisce il software, l'unica cosa che posso cambiare è il publisher: # mkisofs -R -U -V "filesystem" -publisher "ArenaHome.dyndns.org" -hide-rr-moved -cache-inodes -no-bak -pad /mnt/drive/knoppix-tmp/source/KNOPPIX | /usr/bin/create_compressed_fs -65536 > /mnt/drive/knoppix-tmp/master/KNOPPIX/KNOPPIX 20) Creo il checksum MD5 per il controllo di integritadel file iso : cd /mnt/drive/knoppix-tmp/master (mi posiziono nella dir) find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin -exec md5sum '{}'\;>KNOPPIX/md5sums 21) Infine Creo la iso, che se tutto va bene mi ritroverò /mnt/drive/knoppix-tmp/ cd /mnt/drive/knoppix-tmp/master (mi posiziono nella dir) mkisofs -pad -l -r -J -v -V "ArenaHome" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o /mnt/drive/knoppix-tmp/led.iso /mnt/drive/knoppix-tmp/master 22) la iso si chiama "/mnt/drive/knoppix-tmp/led.iso" , mentre il nome della distro è "ArenaHome"