Version 8 (modified by piccardi, 8 years ago)

--

Creare/Personalizzare? un nuovo mainmod

In genere il primo passo per la personalizzazione della Live è la creazione di un nuovo modulo principale (il mainmod), dato che è questo che contiene il sistema che viene eseguito dalla stessa, che gli utenti utilizzeranno alla fine dalla fase di avvio.

Il modulo altro non è che una immagine di un filesystem opportunamente compressa; il procedimento per estrarne il contenuto è il seguente:

extract_compressed_fs fuss-cd/mainmod/newmodule.mod > mainmod.iso

questo estrae l'immagine ISO compressa e la salva nella nostra directory di lavoro; a questo punto sarà possibile accedere ai contenuti e copiarli su una opportuna directory con i seguenti passi:

mount -o loop mainmod.iso temp
cp -a temp mainmod

con le utilità di  Morphix (si scaricano dal sito di  Morphix con l'aggiunta della riga deb http://www.morphix.org/debian ./ a /etc/apt/sources.list) è comunque possibile anche estrarre direttamente il contenuto del modulo in una directory usando il comando:

module-extractor fuss-cd/mainmod/newmodule.mod mainmod

(in questo caso occorrerà prevedere che in /tmp ci sia lo spazio sufficiente per contentere tutti i dati, altrimenti il comando fallirà).

Fatto questo si disporrà dell'immagine completa del sistema e si potrà eseguire un chroot per effettuare le modifiche che ci servono, e nel caso installare quanto dovuto, prima vale però la pena di montare, sia il filesystem /proc che /sys; si procederà pertanto con:

mount -t proc proc mainmod/proc
mount -t sysfs sysfs mainmod/sys
chroot mainmod

e a questo punto ci si troverà all'interno del chroot.

A questo punto si dovrà passare all'installazione di quanto voluto, per questo si può sfruttare direttamente il package system di Debian; nel nostro caso sarà anzitutto necessario impostare un opportuno valore per il server DNS, modificando /etc/resolv.conf.

Poi si possono modificare opportunamente le fonti di APT, in particolare per avere i pacchetti di FUSS, occorrerà avere le seguenti righe dentro /etc/apt/sources.list:

deb http://archive.fuss.bz.it soledad main contrib
deb http://security.debian.org/ stable/updates main contrib
deb http://ftp.it.debian.org/debian stable main contrib

nel nostro caso i pacchetti che si devono installare sono i seguenti:

apt-get update
apt-get install fuss-live
apt-get install ...

Per usare il desktop di FUSS occorre (una volta creato, devi MiniMod, un minimod con il contenuto di /etc/skel per l'utente di default) modificare la seguente riga del file morphix/include.sh:

WINDOWMANAGER=/usr/bin/startx

inoltre prima configurare gnome come sessione predefinito utilizzando il comando:

update-alternatives --config x-session-manager

e poi configurare metacity come gestore di finestre predefinito utilizzando il comando:

update-alternatives --config x-window-manager

Una volta completate le installazioni si potrà provvedere a ripulire quanto non serve più; i passi sono i seguenti:

rm -f /var/tmp/*
rm -f /var/cache/apt/*
touch /var/cache/apt/archives/lock
apt-get clean

Una volta usciti dal chroot occorre poi smontare i filesystem virtuali, onde evitare di inserirne il contenuto nell'immagine del CD:

umount newmodule/proc
umount newmodule/sys

Altro materiale che si può installare all'interno del nostro nuovo modulo, anche senza operare nel chroot, sono alcuni file usati dal sistema di avvio di  Morphix, e che stanno dentro la directory mainmod/morphix.

Anzitutto ci sono le seguenti immagini, che vengono usate rispettivamente come background del desktop e come icona di sistema, che si possono sostituire con le seguenti istruzioni:

cp myimage/background.png mainmod/morphix/background.png
cp /usr/share/pixmaps/debian-logo.png mainmod/morphix/debguin.png

Poi si possono modificare i file che controllano quanto viene installato/avviato al lancio del sistema, questi stanno in mainmod/morphix/init.d, in particolare X11-setup può essere modificato per far lanciare altri programmi all'avvio.

Una volta completate le modifiche può usare il comando module-builder.pl per creare il nuovo modulo nel nuovo formato con:

module-builder.pl mainmod fuss-cd/mainmod/newmodule.mod
Building module, epoch 1112452955, please wait...
...
...

si tenga conto che l'operazione di creazione del modulo è molto lunga e richiede sufficiente spazio sotto /tmp, qualora non lo si abbia si potrà usare un'altra directory temporanea definendo la variabile di ambiente:

export TMPDIR=/var/tmp

Morphix installer

Morphix installer è stato ricompilato dal pacchetto sorgente preso dal CVS di Moprhix, in particolare occorre ricordarsi di rigenerare i .po corretti, questo si deve fare a mano, in genere basta dare il comando:

make dist

nella directoru del pacchetto, però se sono stati aggiunti dei nuovi file allora questo può non essere sufficiente e si dovrà procedere manualmente con:

xgettext --default-domain=morphixinstaller --add-comments --keyword=_ --keyword=N_ --files-from=POTFILES
msgmerge it.po morphixinstaller.po > it.po.new
mv it.po.new it.po