Geekeries/Linux

Faire son propre LiveCD avec draklive

Pour les besoins de mon association, astrolix, j’ai eu besoin de créer un liveCD. il existe beaucoup de solution, nottament une très élégante : http://linux-llive.org et très simple, on installe le système, on lance le script et hop, on a un liveCD. Cependant, ce CD ne gère pas la 3D, les pilotes propriétaires ni l’installation sur disque comme peut le faire une « One » de chez Mandriva. Voici comment j’ai construit mon LiveCD en utilisant Draklive, l’outil de Mandriva pour faire ses propres LiveCD

Faire son mirroir local.
Cette étape n’est pas obligatoire, mais on gagne énormément de temps à avoir un mirroir local de la distribution choisie (2008 dans mon cas). Construire complètement une iso de zéro prend 20 minutes contre 2 h si je n’avais le mirroir local (petit débit 😉 )

Voici mon script qui utilise le protocole rsync.

rsync -av –progress rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.0/i586 /home/jb/mirroir_cooker/i586

Installer draklive
Ensuite, il faut installer la dernière version de Draklive ainsi que les fichiers qui vont avec :
svn co http://svn.mandriva.com/svn/soft/draklive/trunk draklive
svn co http://svn/svn/config/One/trunk live-config

description des fichiers
les 2 plus importants sont config/settings.cfg et config/live.cfg

|– config
| |– live.cfg
| |– settings.cfg
|– draklive
|– error_draklive
|– extra
|– files
|– patches
|– rpms
`– tools

settings.cfg

Dans settings.cfg, vous trouverez la description du media (cdrom/usb), le miroir local, un éventuel mirroir secondaire (pas utile pour moi) et le type de produit (commercial, flash, one…), l’utilisateur, l’environnement graphique etc.
voici le mien :
repository=/home/jb/mirroir_cooker/i586
additional_repository=ftp://ftp.free.fr/mirrors/ftp.mandrake-linux.com/Mandrakelinux/official/2008.0
arch=i586
desktop=KDE
media=cdrom
region=fr
pack=
name=astrolix
product=one
commercial=0
default_user=guest

live.cfg

Dans ce fichier, il s’agit de personnaliser la liste des paquets à installer. Ceci se fait dans la partie « post-install ».

Exemple : j’ai recompilé « stellarium » pour avoir le support du son. J’ai donc voulu l’installer. Cependant il faut installer des dépendances supplémentaires or, dans le processus, les médias sont enlevés AVANT d’installer des nouveaux rpms perso. Il faut donc jouer sur 2 partie de live.cfg :

additional_media => [
{
name => 'main 32',
path => 'ftp://ftp.free.fr/mirrors/ftp.mandrake-linux.com/Mandrakelinux/official/2008.0/i586',
distrib => 1,
packages => [celestia],
}

],

celui-ci permet de recréer un système de sources de RPMS, permettant l’installation de paquetages en plus nécessaires.

Puis :
rpms => [
'rpms/stellarium-0.9.0-1mdv2008.0.i586.rpm', 'rpms/qastrocam-20071027-1astrolix.i586.rpm', 'rpms/midas-07SEPpl1.1-1mdv2008.0.i586.rpm'
],

les RPMs perso donc placés dans le répertoire rpms/ puis appelés par le code ci-dessus.
|– rpms
| |– midas-07SEPpl1.1-1mdv2008.0.i586.rpm
| |– qastrocam-20071027-1astrolix.i586.rpm
| `– stellarium-0.9.0-1mdv2008.0.i586.rpm

il y a pleins d’autres tweaks de nettoyage ou pour enlever des rpms.

L’internationalisation

Draklive permet de gérer l’internationalisation en précisant les régions. Par d »faut c’est « int ». Autant dire beaucoup de pays. Dans mon cas, je voulais une iso française, dont j’ai créer, dans live.cfg, une région « fr » avec seulement « fr » dedans :
regions => {
#- the "all" region has a magical behavior and selects all langs
int => [qw(cs de en es fr it nb pl pt_BR ru)],
'asia' => [qw(en ja ko zh_CN zh_TW)],
'extra-i18n' => [qw(ar bg en he hi lt nl nn uk uz zu)],
fr => [qw(fr)],

il faut ensuite modifier la région dans config/settings.cfg :

region=fr

Construction de l’iso
(fonctionne si vous avez installé à partir du svn)
cd live-config
../draklive/draklive –all

Ceci fait tout.

Les différentes étapes possibles:
draklive --install
installe le chroot (installe l’arborescence et les logiciels que va contenir le cd)

draklive --boot
prepare les fichiers de boot (initrd etc.)

draklive --post-install
lance les personnalisations, ajouts de rpms persos etc. Pas la peine de tout relancer si c’est juste pour ajouter un rpm. –post-install le fera. il faudra reconstruire derrière

draklive --loop
créer le fichier compressé en squashfs qui contiendra l’OS

draklive --master
créer l’iso

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s