Introduzione
Questo HowTo si propone come obiettivo la modifica di un Live CD di Ubuntu Dapper Drake 6.06 per renderlo adatto alle proprie esigenze, per quel che riguarda la scelta dei pacchetti e la loro configurazione. Esistono altri metodi per dar vita a distribuzioni (live o meno) "costruite intorno a noi", come LFS e Gentoo, ma benché questi siano strumenti molto più flessibili, richiedono molto tempo e una discreta cultura informatica. La tecnica proposta è accessibile a chiunque e darà una panoramica, sebbene riduttiva, delle libertà offerte dai sistemi GNU/Linux.
Impostazioni di Sistema e requisiti minimi
I requisiti minimi perché il progetto vada in porto sono:
Circa 3GB di spazio libero su disco rigido;
squashfs-tools un'utility per la compressione e decompressione del filesystem;
mkisofs per la creazione di immagini iso;
Un kernel Ubuntu che supporta il modulo squashfs (per esempio il kernel fornito di default con la Dapper);
Almenoi 512 MB di RAM e 1 GB di swap per velocizzare il processo (non fondamentali!);
Preparazione
Prerequisiti
Prima cosa installare i pacchetti necessari: squashfs-tools mkisofs qemu
Caricare il modulo squashfs, da terminale digitare:
sudo modprobe squashfs
Scaricare il cd ufficiale di Ubuntu Desktop da http://releases.ubuntu.com/dapper/
- Spostarlo in una nuova cartella, inserite in un terminale questi comandi:
mkdir ~/live mv ubuntu-6.06.1-desktop-i386.iso ~/live cd ~/live
Estrazione
Montare l'immagine iso del cd appena scaricato, da terminale digitare:
mkdir mnt sudo mount -o loop ubuntu-6.06.1-desktop-i386.iso mnt
Estrarre il contenuto del CD in una cartella temporanea, fatta eccezione per il filesystem compresso:
mkdir extract-cd rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
Montare il filesystem squashfs:
mkdir squashfs sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
Estrarre il contenuto in una nuova cartella edit:
mkdir edit sudo cp -a squashfs/* edit/
Chroot
Se si desidera la connessione internet all'interno del chroot, eseguire questa procedura:
Salvarsi il file /etc/resolv.conf, in un terminale digitare:
sudo cp /etc/resolv.conf edit/etc/
Eventualmente copiarsi anche il file /etc/hosts:
sudo cp /etc/hosts edit/etc/
Inserire questi ultimi comandi per avviare il chroot:
sudo chroot edit mount -t proc none /proc mount -t sysfs none /sys export HOME=/root export LC_ALL=C
Personalizzare Ubuntu
Personalizzare Ubuntu a proprio piacimento.
Pacchetti installati
Potrebbe essere utile rimuovere alcuni pacchetti che non servono al CD Live che stiamo creando.
Questo comando serve per elencare tutti i pacchetti installati tramite apt-get in ordine di spazio occupato:
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | lessScegliere eventualmente dei pacchetti da rimuovere e digitare nel terminale:
sudo apt-get remove nome_pacchetto
Sfondo del Desktop in Gnome
Generalmente il file dello sfondo del Desktop di Gnome si trova in /usr/share/backgrounds.
Basterà quindi modificare il file /var/lib/gconf/debian.defaults/%gconf-tree.xml cambiando la stringa:
/usr/share/backgrounds/warty-final-ubuntu.png
Con il percorso al file preferito per lo sfondo.
Cambiare la lingua di default di gfxboot
La procedura deve essere svolta fuori dal chroot. In un terminale digitare i seguenti comandi per impostare la lingua Italiana:
sudo -s apt-get source gfxboot-theme-ubuntu gfxboot dpkg-dev cd gfxboot-theme-ubuntu*/ make DEFAULT_LANG=it sudo cp -af boot/* ../extract-cd/isolinux/ exit
Modificare eventualmente la sigla it (Italiano) con un altra lingua. Per ulteriori informazioni sulla personalizzazione di gfxboot, leggere la pagina Ubuntu Customization Kit.
Personalizzazione avanzata
È possibile consultare parte del documento originale per una personalizzazione più avanzata: Advanced Customizations Dapper LiveCD
Pulire il sistema
È molto utile eliminare tutti quei file temporanei, inutili per il funzionamento della Live CD.
Eliminare la cache di apt:
apt-get clean
- Cancellare i file temporanei:
rm -rf /tmp/*
Rimuovere le impostazioni del nameserver:
rm /etc/resolv.conf
A questo punto smontare il filesystem ed uscire dal chroot:
umount /proc umount /sys exit
Creare il CD Live
Eseguire questa procedura per unire il contenuto del filesystem, in modo da creare il Live CD:
Rigenerare il manifesto:
chmod +w extract-cd/casper/filesystem.manifest sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop sudo sed -ie '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktopComprimere il filesystem:
sudo rm extract-cd/casper/filesystem.squashfs sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
Modificare il file extract-cd/README.diskdefines con l'editor di testo preferito ed impostare il nome per l'immagine del CD.
Rimuovere il vecchio md5sum.txt e calcolare la nuova somma md5:
sudo -s rm extract-cd/md5sum.txt cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt exit
Creare la iso:
cd extract-cd sudo mkisofs -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-6.06.1-desktop-i386-custom.iso .
Testare il CD
Per testare il CD con l'emulatore Qemu, digitare in un terminale il comando:
qemu -cdrom ubuntu-6.06.1-desktop-i386-custom.iso -boot d
Masterizzare il CD
Semplicissimo grazie al comando:
cdrecord dev=/dev/cdrom ubuntu-6.06.1-desktop-i386-custom.iso
Ulteriori risorse
Ottimizzare una Live CD - {en}
Documento originale - {en}
