EoliveCd création
Un article de EoleWiki.
Comment personnaliser son EoliveCD
Introduction
Ce document est une adaptation de la documentation du projet MORPHIX portant sur la personnalisation d'une Morphix en tenant compte de nos spécificités. Les "live CD" du projet eole ont pour le moment une base morphix. Vous trouverez toute la documentation du projet morphix sur : http://www.morphix.org
La personnalistaion de votre eolivecd doit ce faire sous l'utilisateur root.
Sommaire
- 1) Les programmes nécessaires
- 2) Mise en place des répertoires de travail
- 3) Extration du mainmod:
- - A partir d'un CD
- - A partir d'une ISO
- 4) Modifications et personnalisations
- 5) Compression de eolive_hd
- 6) Mise en Place du répertoire CD
- 7) Récupération des Elements de boot
- 8) Création de l'ISO finale
- 9) Petits coups de pouce bash
- 10) Compléments
- 11) Auteur
Les Programmes nécessaires
Vous devez disposer sur votre distribution des outils Cloop (cloop-utils), ainsi que des utilitaires :
- create_compressed_fs
- extract_compressed_fs
Mise en place des répertoires de travail
La personnalisation de EOLIVE CD necessite une sorte de mini arboréscence comme celle qui suit :
- /new_eolive/
- eolive_cd/
- eolive_hd/
- iso/
- temp1/
- temp2/
Crée cette arboréscence sur un disque diposant de plus de 3Go de disponnibles.
Pour la suite de la personnalisation il est important de respecter le nom des répertoires.
Crée ces répetoires en respctant les niveaux commme ceci:
#mkdir /new_eolive/ #mkdir /new_eolive/eolive_cd #mkdir /new_eolive/eolive_hd/ #mkdir /new_eolive/iso/ #mkdir /new_eolive/temp1/ #mkdir /new_eolive/temp2/
Si vous ne créez pas le répertoire /new_eolive sur la racine (/) de votre système, il faut créer un lien symbolique sur son emplacement comme ceci :
#mkdir /home/new_eolive/ #cd / #ln -s new_eolive /home/new_eolive #ls -l | grep new_eolive
Le résultat de cette dernière commande doit donner ceci:
lrwxrwxrwx 1 root root 16 jui 13 15:34 new_Morph -> /home/new_eolive/
Extraction du Mainmod
- A partir D'un CD "EoliveCD" ou "E-AK"
#mount /mnt/cdrom #cd /mnt/cdrom/mainmod/ #extract_compressed_fs eolive.mod>/new_eolive/stockmod.iso
- A partir d'une ISO "EoliveCD" ou "E-AK"
Si ce n'est pas déja fait:
#mkdir /new_eolive/iso/
#mount -o loop nom_de_votre_iso /new_eolive/iso/ #cd /new_eolive/iso/mainmod/ #extract_compressed_fs eolive.mod>/new_eolive/stockmod.iso #cd /new_eolive/ #umount /new_eolive/iso/
Une fois que vous avez décompressé le mainmod, procédez de la manière suivante pour obtenir une arborescence enfant de votre système:
#cd /new_eolive/
Si ce n'est pas déja fait:
#mkdir /new_eolive/temp1/ /new_eolive/temp2/
#mount -o loop stockmod.iso /new_eolive/temp1 #cp -Rp temp1* /new_eolive/temp2/ #cd temp2 #ls #mv temp1 eolivehd #mv eolivehd /new_eolive/eolive_hd/ #cd /new_eolive/ #umount temp1
Une fois que vous avez terminé, le répertoire eolive_hd contient normalement une arborescence linux enfant de votre propre système qui ressemble a ceci:
/new_eolive/ bin/ boot/ cdrom/ cdrom1/ dev/ etc/ floppy/ home/ lib/ mnt/ morphix/ MorphixCD/ proc/ root/ rr_moved/ sbin/ sys/ tmp -> ./var/tmp/ usr/ var/
Modifications et personnalisations
Avant tout il nous faut faire vivre le système dans le notre, en effet cette méthode s'appuie sur un principe très simple, celui du système père et du système fils:
Dans l'ensemble vous disposer d'un système installer sur votre pc, et vous faite vivre le système que vous venez de décompresser sur votre disque dur.
Pour celà, il faut utiliser un "chroot" de la manière suivante:
#cd / #mount --bind /dev /new_eolive/eolive_hd/dev #chroot /new_eolive/eolive_hd
Après cette dernière commande si tout se passe bien (et celà devrait être le cas...) vous obtiendrer un invite comme celui-ci:
bash-2.05b# ou #
Ensuite taper la commande suivante:
#mount -t proc /proc proc
Et voila votre système enfant vit !
Après la naissance de votre système il vous faut lui apporter les modifications dont vous avez envie. Les Live CD morphix sont des distributions dérivées de la knoppix qui est a base de débian, ce qui implique que EoliveCd est-elle aussi a base de Débian et par conséquent utilise l'outil "apt-get" pour installer et désinstaller des paquets .deb !
Normalement le fichier "/etc/apt/source.list" est a jour, mais si besoin est vous pouvez le modifier par l'intermédiaire de l'editeur "vi" (et oui il faut bien que le créateur originel s'y retrouve, enfin libre à vous de lancer "# apt-get install emacs" ou autre).
Rappelons quelques règle de base de "APT":
- 1) Le meilleur ami de l'utilisateur apt:
#man apt-get
- 2) à chaque changement du fichier /etc/apt/source.list il faut lancer :
#apt-get update
- 3) Installation d'un paquet:
apt-get install nom_du_paquet
- 4) Désinstalle un paquet:
apt-get remove nom_du_packet
Voila, vous savez comment installer et désinstaller les applications que vous voulez !
Une dernière précision, comment rendre le tout en français ?
Comme vous le savez certainement Debian ne dispose pas des messages locale précompilés pour toute les langues, donc il faut faire une petite manipulation qui donne les locales français !
Tout d'abord il faut éditer le fichier "/etc/locale.gen" et y inserer la ligne "fr_FR@euro ISO-8859-15" :
vi /etc/locale.gen
/etc/locale.gen
# This file lists locales that you wish to have built. You can find a list # of valid supported locales at /usr/share/i18n/SUPPORTED. Other # combinations are possible, but may not be well tested. If you change # this file, you need to rerun locale-gen. # fr_FR@euro ISO-8859-15
Ensuite taper :
#locale-gen
Et voila, votre système parle maintenant notre belle langue.
Une dernière précision :
- Attention vous travaillez sur un CD ! Certaines application necessite d'ecrire dans des fichiers qui ne sont pas prévus en écriture pas le système !
Dans ce genre de cas il faut recréer le dit fichier dans un répertoire que vous monterer en tmpfs au boot.
- Si vous voulez changer le fond d'écran par défaut, il vous suffit de le remplacer par le vôtre dans "/new_eolive/eolive_hd/morphix/", il devra obligatoirement se nommer "background.png", à moins que vous ne modifiiez la configuration par défault de xfce dans "/new_eolive/eolive_hd/etc/skel/.xfce4/".
Compression de eolive_hd
Vous avez tout installé, votre système est vraiment comme vous le souhaitiez. Il ne vous reste plus qu'a compresser votre répertoire "eolive_hd" !
#cd /new_eolive #ls #mkisofs -R -U -V "Eolivefs" -P "EoliveCD" -cache-inodes -nobak -pad /new_eolive/eolive_hd> ./mon_mod.iso
Ensuite il faut convertir le l'iso en module:
#create_compressed_fs ./mon_mod.iso 65536 > mon_mod.mod
Mise en Place du répertoire CD
Le premier point est de créer le répertoire qui contiendra tout les éléments du CD final(si vous ne l'avez pas encore fait):
#mkdir /new_eolive/eolive_cd/
Il faut ensuite crée un sous répertoires qui contiendra votre module :
#mkdir /new_eolive/eolive_cd/mainmod
Attention ici les noms des répertoires doivent être respectés !
Par la suite il faut déplacer le module que vous avez crée dans l'étape précédente dans le répertoire mainmod:
#mv /new_eolive/eolive.mod /new_eolive/eolive_cd/mainmod/
L'étape suivante consistera a récupérer les éléments de boot de votre live cd.
Récupération des Elements de boot
- 1) A partir d'un CD EOLIVECD ou E-AK
#mount /mnt/cdrom
#cp -a base* /new_eolive/eolive_cd #cp -a minimod* /new_eolive/eolive_cd #cp boot.img /new_eolive/eolive_cd
- 2) A partir d'une image ISO de EOLIVECD ou E-AK
Il suffit de remplacer la première commande mount par celle-ci:
#mount -o loop E-AK-0.1.iso /new_eolive/iso
et de reproduire les autres.
Il ne reste plus qu'a créer l'iso finale de votre EoliveCD.
Création de l'ISO finale
Pour crée l'image iso finale il ne reste plus qu'a taper ces deux commandes:
#cd /new_eolive #mkisofs -pad -l -r -J -v -V"EoliveCD" -b base/boot.img -c base/boot.cat -hide-rr-moved -o nom_de_votre_iso.iso eolive_cd
Vous obtiendrez ainsi votre image iso prete à passer entre les "mains" de votre graveur.
Petits coups de pouce bash
Vous pouvez si vous le désirez utiliser ces quelques scripts qui vous faciliteront la vie entre les diverses interventions sur votre arborescence enfant (car il y en aura très certainement plusieurs :) )
Le premier sert a exécuter les commandes pour le change root sur l'arborécence enfant:
- bind.sh
#! /bin/sh mount --bind /dev /new_eolive/eolive_hd/dev chroot /New_eolive/eolive_hd
Le second permet d'éviter les longues lignes de commande de création de l'iso :
- mkiso.sh
#!/bin/sh cd /new_eolive rm -f eolive.iso rm -f eolive.mod echo "Compression du module en Iso ETAPE 1" mkisofs -R -U -V "Eolive" -P "EoliveCD" -cache-inodes -nobak -pad /new_eolive/eolive_hd > ./eolive.iso echo "Compression du Iso en .mod ETAPE 2" create_compressed_fs ./eolive.iso 65536 > eolive.mod rm -rf /new_eolive/eolive_cd/mainmod/* echo "Compression de l'image iso ETAPE 3" cp /new_eolive/eolive.mod /new_eolive/eolive_cd/mainmod/ mkisofs -pad -l -r -J -v -V "EoliveCD" -b base/boot.img -c base/boot.cat -hide-rr-moved -o eoliveCd.iso /new_eolive/eolive_cd
Et le dernier a utiliser avec précaution car il supprime toutes les images iso qui traine pour permettre de recommencer proprement :
- rmiso.sh
#! /bin/sh rm -f /new_eolive/eolive.iso rm -f /new_eolive/eoliveCd.iso rm -f /new_eolive/eolive.mod rm -f /Nnew_eolive/eolive_cd/mainmod/eolive.mod
Compléments
Très bientôt vous disposerez d'une documentation sur la méthode pour modifiers les images de boot ainsi que les fichier d'aide et les logos des prompt de commandes et de démarrage.
Auteur
Avec l'aide de la docuementation Morphix http://www.morphix.org
Philippe Caseiro
- caseiro.philippe@gmail.com
