Guida alla modifica di un livecd Ubuntu

Sviluppo » Informazioni tecniche » Guida alla modifica di un livecd Ubuntu


In costruzione.

La modifica di un livecd Ubuntu è un'operazione che mette in campo diversi aspetti, i quali variano anche a seconda del livello di personalizzazione che si intende raggiungere. Fortunatamente ci sono anche degli strumenti che aiutano a effettuare le modifiche senza fare tutto manualmente.

Va tenuto in considerazione comunque che al di là di modifiche "banali" sarà sempre necessario intervenire manualmente per cambiamenti "di fino". Questa guida risponde all'esigenza di raccogliere le istruzioni su come procedere dall'inizio alla fine, con numerosi esempi pratici per modifiche raffinate anche su singole applicazioni.

Aspetti tecnici

Dal punto di vista teorico, è necessario spiegare che cosa si va a fare. Un livecd viene in sostanza fornito come un file ISO. Questo è un file speciale, infatti è uno "specchio" dei contenuti di un intero CD oppure DVD. Il formato ISO non è altro che un tipo particolare di file compresso ZIP al quale vengono aggiunte alcune informazioni speciali, che definiscono l'etichetta del CD e altro.

Una prima operazione per la modifica di un livecd è l'estrazione dei contenuti dell'ISO. Essa è banale, dato che basta usare un comune gestore di file ZIP. Comunque sia non dovremo farlo a mano, in quanto se ne occuperà il programma che verrà illustrato in seguito.

Dopo questo primo passo, è necessario cercare all'interno della struttura delle cartelle il file più grande, che occupa quasi tutto lo spazio. Tale file, che sul livecd di Ubuntu è in /casper/filesystem.squashfs, è in realtà un filesystem compresso (appunto in formato SquashFS). Cosa significa? Vuol dire che è una copia molto "schiacciata" dell'intero hard disk così come viene installato sul PC una volta che si decide di farlo. Il fatto di averlo così compresso, unito alla decompressione "al volo" durante il caricamento, permettono di far funzionare il livecd.

Anche questo filesystem deve essere copiato sul nostro disco e aperto. Per fare questo ci vogliono alcuni gigabyte liberi, e la quantità dipende dalla dimensione della ISO. Raccomandiamo comunque di avere almeno 10-15 giga liberi. Una volta scompattato il filesystem SquashFS, possiamo finalmente "entrarci" dentro con un comando chiamato chroot.

Possiamo quindi "cambiare la radice" cioè ottenere un terminale dentro al disco che abbiamo decompresso dentro a una normale cartella, e operare all'interno come amministratori. In tal modo facciamo tutte le modifiche che ci pare. Alla fine, deve essere ricompresso il filesystem SquashFS e anche l'immagine ISO.

Sono operazioni un po' più complicate, che comprendono poi anche l'aggiornamento di alcuni file per controllare l'integrità del disco. Fortunatamente il procedimento in tutte le sue fasi fino al chroot, e poi dopo di esso fino alla conclusione, può venire automatizzato da un apposito software.

Strumenti necessari

Tutto il lavoro verrà supportato essenzialmente da un software: UCK. In realtà si tratta di una serie di diversi script che si possono anche avviare da terminale. La guida però spiegherà l'utilizzo dell'interfaccia grafica. Lasciamo ai lettori più curiosi l'approfondimento degli script da terminale tramite l'ottimo articolo di Antonio Doldo.

Naturalmente si presuppone di installare questo programma su di un sistema Ubuntu preesistente. Il sito web di UCK mette a disposizione l'ultimo pacchetto .deb disponibile: consigliamo di usare quest'ultimo e non quello che è disponibile da Ubuntu Software Center. Raccomandiamo inoltre di fare tutti gli aggiornamenti al sistema Ubuntu che state utilizzando, questo per evitare problemi sulla versione del kernel.

Non è necessario infatti che il kernel che volete mettere dentro il disco live e quello sul vostro computer abbiano lo stesso numero di versione, però questo evita alcuni tipi di problemi. Se infatti le versioni sono diverse, il disco potrebbe avere un avvio lento in quanto dovrebbe compilare alcuni moduli che potreste aggiungere durante la fase di modifica. Se le versioni del kernel coincidono, la compilazione dei moduli avviene quando aggiungete o togliete pacchetti e quindi il disco poi parte subito.

Pertanto se sul vostro computer avete abilitato repository che causano aggiornamenti particolari, per esempio i backports, fatelo poi anche nel disco che modificate, e viceversa. Questo avvertimento probabilmente non sarà ripetuto in seguito, quindi prestateci attenzione! Infine avete bisogno di un'immagine ISO di Ubuntu, in versione desktop e non alternate. L'immagine inoltre dev'essere conforme alla vostra architettura (32 oppure 64 bit). Potete scaricare Ubuntu dal sito ufficiale.

Infine, per testare le varie versioni incomplete che mano a mano produrrete, è conveniente usare uno strumento di virtualizzazione. Questo vi permetterà innanzitutto di evitare di masterizzare sempre un disco per ogni ISO che create e anche di riavviare. In secondo luogo potrete lavorare fianco a fianco con il terminale per le modifiche e una finestra che contiene il sistema incompleto così potete vedere meglio che ritocchi fare. Allo scopo sicuramente lo strumento migliore è VirtualBox.

Inizio del lavoro

...

Modifiche alla dotazione dei pacchetti

[repository ubuntu, repository esterni, chiavi di autenticazione, ...]

Installazione di software non presente nei repository

...

Aspetto grafico

[temi, sfondo desktop, gdm, icone, font, kde4/kde3/qt3, plymouth, change_cursor]

Preconfigurazione dei programmi

[esempi con file xml]

Modifiche a Firefox

[estensioni, Moonlight, homepage, dimensione all'avvio]

Driver e altro

[driver nvidia, applicazioni preferite in gnome, lingua del comando look, ...]

Termine della costruzione

...

Note conclusive

...