Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
personnaliser_live_cd [Le 31/07/2007, 11:01]
196.203.106.21
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​personnalisation tutoriel feisty}} 
  
----- 
- 
-===== Introduction ===== 
- 
-Ce howto provient de 
-http://​lenerve.free.fr/​dotclear/​index.php?​2006/​08/​14/​20-customisation-du-livecd-ubuntu 
-qui se base sur  
-https://​help.ubuntu.com/​community/​LiveCDCustomization/​6%2e10 
-http://​www.atworkonline.it/​~bibe/​ubuntu/​custom-livecd.htm 
-http://​lichota.net/​~krzysiek/​projects/​ubuntu-livecd-customization/​ pour la partie francisation 
-Le script de montage des partitions au boot du live cd est basé sur celui disponible ici: 
-http://​www.ubuntulinux.nl/​files/​diskmounter 
- 
-===== Tutoriel ===== 
- 
-==== Pré-requis ==== 
- 
-Il nous faut les paquets suivants : squashfs-tools mkisofs xdialog et qemu pour tester et faire les finalisations 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] **squashfs-tools mkisofs xdialog** 
- 
-Finalement, assurez vous d'​avoir environ 5 Go de disponible. 
- 
-==== Télécharger le live CD ==== 
- 
-Pour télécharger la version 7.04 de Ubuntu : 
-<​code>​wget http://​fr.releases.ubuntu.com/​7.04/​ubuntu-7.04-desktop-i386.iso</​code>​ 
- 
-Pour télécharger la version 7.04 de Kubuntu : 
-<​code>​wget http://​fr.releases.ubuntu.com/​kubuntu/​7.04/​kubuntu-7.04-desktop-i386.iso</​code>​ 
- 
-Pour télécharger la version 7.04 de Xubuntu : 
-<​code>​wget http://​cdimage.ubuntu.com/​xubuntu/​releases/​7.04/​release/​xubuntu-7.04-desktop-i386.iso</​code>​ 
- 
-==== Création d'une variable pointant vers le répertoire de travail ==== 
- 
-On considère que le répertoire de travail sera le répertoire **mylivecd** à la racine de mon répertoire home. 
-Pour travailler plus facilement, on va créer une variable d'​environnement pointant vers le chemin ///​home/​monlogin/​mylivecd//​. 
- 
-<​code>​export WORK=~/​mylivecd 
-mkdir -p $WORK</​code>​ 
- 
-Le ~ est un raccourci pointant vers /​home/​monlogin. 
- 
- 
- 
-==== Montage de l'ISO du live CD ==== 
- 
-Il va falloir maintenant monter (de la même façon qu'une partition) l'​image du Live CD téléchargé précédemment pour pouvoir le manipuler, pour cela on va utiliser la commande mount en spécifiant le répertoire ///cdrom/// pour point de montage. 
- 
-<​code>​sudo mount -t iso9660 -o loop /​repertoire_vers/​monimagelivecd.iso /​cdrom</​code>​ 
- 
-La commande //mount// permet de monter l'​image dans le système de fichier courant. 
- 
-L'​attribut //-t iso9660// permet de renseigner l'​encodage des caractères (les CD utilisent cet encodage). 
- 
-L'​attribut //-o loop// est pour dire au système qu'il faut monter l'​image comme un périphérique local (il sera reconnu donc comme un lecteur de cdrom). 
- 
-==== Copie de l'​image ==== 
- 
-Maintenant, on va copier l'​intégralité de l'​image vers le répertoire de travail créer précédemment (en utilisant la variable WORK), lui mettre les droits d'​écriture,​ et pour finir, démonter l'ISO qui nous sert plus à rien. 
- 
-<​code>​cd $WORK 
-mkdir ubuntu-livecd 
-cp -a /cdrom/. ubuntu-livecd 
-chmod -R u+w ubuntu-livecd 
-sudo umount /​cdrom</​code>​ 
- 
-==== Suppression des programmes pour Windows ==== 
- 
-Commençons à faire de la place. Le Live CD original est fourni avec quelques programmes Windows permettant de promouvoir Ubuntu quand on utilise le Live CD sur une plateforme Windows. ​ 
- 
-On peut donc supprimer sans souci ce répertoire (95Mo d'​économiser) 
-<​code>​rm -rf $WORK/​ubuntu-livecd/​programs</​code>​ 
- 
-==== Décompression de l'​image ==== 
- 
-Les répertoires et fichiers du Live CD que vous pouvez voir dans $WORK/​ubuntu-livecd/​ sont nécessaires pour le boot du CD.  
-Le système Ubuntu est stocké dans un fichier image compressé //​$WORK/​ubuntu-livecd/​casper/​filesystem.squashfs.//​ 
- 
-Pour décompresser cette image et pouvoir travailler dessus pour la personnalisation,​ il faut le module squashfs.\\ 
-On va donc charger ce module, et monter l'​image dans un nouveau répertoire //​$WORK/​old//​. 
- 
-<​code>​sudo modprobe squashfs 
-mkdir $WORK/old 
-sudo mount -t squashfs -o loop,ro $WORK/​ubuntu-livecd/​casper/​filesystem.squashfs $WORK/​old</​code>​ 
- 
-Si vous regardez dans le répertoire //​$WORK/​old//,​ vous pouvez reconnaitre le système de fichiers standard d'une Ubuntu (racine /, répertoire /home, etc...). 
- 
-==== Création de l'​image ==== 
- 
-On va créer une image de 2 Go (taille maximum décompressée du Live CD), ceci nous permettra de contrôler la taille de notre personnalisation sans risquer de dépasser la taille maximum.\\ 
-On crée donc un fichier de 2 Go avec la commande dd : 
- 
-<​code>​sudo dd if=/​dev/​zero of=$WORK/​ubuntu-fs.ext2 bs=1M seek=2146 count=1</​code>​ 
- 
-On formate l'​image précédemment créee en ext2 : 
- 
-<​code>​sudo mke2fs $WORK/​ubuntu-fs.ext2</​code>​ 
- 
-mke2fs va nous prévenir que //​ubuntu-fs.ext2//​ n'est pas disque réel (normal, c'est une image), on clique sur yes. 
-On crée un nouveau répertoire,​ et on monte cette nouvelle image dedans : 
- 
-<​code>​mkdir $WORK/new 
-sudo mount -o loop $WORK/​ubuntu-fs.ext2 $WORK/​new</​code>​ 
- 
-On copie l'​ancien système de fichiers (se trouvant dans le répertoire old) dans le nouveau afin de le modifier : 
- 
-<​code>​sudo cp -a $WORK/old/. $WORK/​new</​code>​ 
- 
-On peut maintenant démonter $WORK/old : 
- 
-<​code>​sudo umount $WORK/​old</​code>​ 
- 
-==== Chroot et personnalisation du système ==== 
- 
-=== Préparation du chroot === 
- 
-Il faut bien copier ///​etc/​resolv.conf//​ dans notre système de fichiers, sinon on n'aura pas accès au réseau, et le téléchargement sera donc impossible. 
- 
-On peut aussi copier le //​sources.list//​ utilisé habituellement pour avoir accès au dépôts que vous utilisez habituellement. 
- 
-<​code>​sudo cp /​etc/​resolv.conf $WORK/​new/​etc/​ 
-sudo cp /​etc/​apt/​sources.list $WORK/​new/​etc/​apt/​sources.list</​code>​ 
- 
-Maintenant, on peut "​chrooter"​ le système pour pouvoir personnaliser le Live CD. On monte en plus le système de fichier /proc pour travailler plus aisément (contient toutes les infos du système). 
- 
-<​code>​sudo mount -t proc -o bind /proc $WORK/​new/​proc 
-sudo chroot $WORK/new /​bin/​bash</​code>​ 
- 
-L'​utilisation du chroot permet d'​isoler l'​exécution du programme (ici /bin/bash) et ainsi, utiliser le terminal nouvellement ouvert pour travailler sur le Live CD comme si on travaillait sur le système local. ​ 
- 
-=== Personnalisation du Live CD par le chroot === 
- 
-Nous sommes maintenant connecté en root (grâce au chroot) au système de fichiers du Live CD. On peut donc faire toutes les modifications désirées (apt-get remove, install...). Voir la liste des paquets supprimés et installés.\\ 
-On commence donc par la mise à jour des programme installé dans le LiveCD : 
-<​code>​apt-get update</​code>​ 
- 
-Et si on le souhaite, on supprime ou on installe les programme de nos choix.\\ 
-On fini par un : 
- 
-<​code>​apt-get clean 
-dpkg-reconfigure console-data # (Sélectionner le clavier français)</​code>​ 
- 
-Finalement, on peut mettre le Live CD en français. Pour ce faire, on télécharge ce ce script : 
-http://​lichota.net/​~krzysiek/​projects/​ubuntu-livecd-customization/​uck-1.1.tgz 
- 
-Et on l'​exécute en console avec les droit d'​administration (avec un sudo). 
- 
-Une fois que l'on a fini la personnalisation,​ on sort du chroot : 
- 
-<​code>​exit</​code>​ 
- 
-=== Finalisation === 
- 
-Le Live CD ne monte pas automatiquement les partitions que vous avez sur votre disque local, il faut passer par ces scripts automounter / diskmounter disponible ici : 
- 
-http://​lenerve.free.fr/​download/​automounter.tar.gz 
- 
-A modifier selon vos besoins, dans l'​état il monte les partitions NTFS, FAT et HFS en readonly. La source est disponible dans l'​archive. 
- 
-<​code>​sudo cp /repertoire ou est automounter/​automounter $WORK/​new/​usr/​bin 
-sudo mkdir $WORK/​new/​local/​share/​diskmounter 
-sudo cp /repertoire ou est automounter/​diskmounter/​diskmounter $WORK/​new/​local/​share/​diskmounter</​code>​ 
- 
-Par défaut, les partitions détectées seront montées dans le répertoire ///​media/​nomdelapartion//​.\\ 
-Il faudra le rendre exécutable au démarrage dans un deuxième temps (cf plus loin dans le tutoriel). 
- 
-On finit de nettoyer avant de sortir du système. 
-<​code>​sudo umount $WORK/​new/​proc 
-sudo rm $WORK/​new/​etc/​resolv.conf</​code>​ 
- 
-On est de retour dans notre propre système. 
- 
-==== Ultimes modifications ==== 
- 
-Tout d'​abord,​ il faut régénérer le fichier manifest pour qu'il prenne en compte les modifications dans les paquets. 
- 
-<​code>​sudo chroot $WORK/new dpkg-query -W --showformat='​${Package} ${Version}\n'​ > $WORK/​ubuntu-livecd/​casper/​filesystem.manifest</​code>​ 
- 
-==== Fabrication du système de fichiers compressé ==== 
- 
-Il faut maintenant compressé le système de fichier du Live CD pour pouvoir le mettre dans une image CD. 
- 
-<​code>​sudo rm $WORK/​ubuntu-livecd/​casper/​filesystem.squashfs 
-cd $WORK/new 
-sudo mksquashfs . $WORK/​ubuntu-livecd/​casper/​filesystem.squashfs</​code>​ 
- 
-Cela dure extrêmement longtemps, soyez patient.\\ 
-On peut maintenant démonter $WORK/new 
- 
-<​code>​cd $WORK 
-sudo umount $WORK/​new</​code>​ 
- 
-{{icons:​iconnote.png ​ }} 
->Si vous voulez refaire une petite personnalisation esthétique,​ (détaillé plus loin), ne démontez pas la partition. 
- 
-==== Fabrication du nouveau Live CD ==== 
- 
-On régénère un nouveau hash MD5 afin qu'il reflète le nouveau contenu du CD. 
-<​code>​cd $WORK/​ubuntu-livecd 
-sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt</​code>​ 
- 
-On fabrique la nouvelle ISO portant le nom ubuntu-new.iso:​ 
-<​code>​cd $WORK 
-sudo mkisofs -o customLivecd.iso -b isolinux/​isolinux.bin -c isolinux/​boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "​CustomLiveCD"​ -cache-inodes -J -l ubuntu-livecd</​code>​ 
- 
-Une fois que le fichier ISO crée, vous pouvez la tester en utilisant qemu. 
- 
-==== Modification esthétique du Live CD ==== 
- 
-Montez votre nouvelle ISO avec qemu.  
-<​code>​qemu -cdrom ubuntu-new.iso</​code>​ 
- 
-Une fois que vous êtes dans le Live CD, faites toutes les modifications que vous voulez (fond d'​écran,​ raccourcis sur le bureau, programmes à lancer au démarrage). ​ 
- 
-Profitez en pour rendre exécutable au démarrage les scripts automounter / diskmounter vu précédemment. 
-Pour cela, allez dans //Système -> Session//, et rajouter le programme automounter en lui mettant une priorité de 30. 
- 
-Une fois que vous avez fini, déloguez-vous en cochant la case "​sauvegarde des données"​. Une fois que vous vous êtes delogué, passez en session console (CTRL + ALT + F1) et créez un TAR du dossier home/​ubuntu. 
- 
-<​code>​sudo tar cvf fichierdesauvegarde.tar /​home/​ubuntu</​code>​ 
- 
-Quittez qemu puis copiez le contenu de ce tar dans //​$WORK/​new/​etc/​skel//​ et refaite une image ISO en reprenant à partir de [[personnaliser_live_cd#​ultimes_modifications|ce point]]. 
- 
------- 
-//​Contributeur : [[utilisateurs:​adam0509|adam0509]],​ [[utilisateurs:​Fengy|Fengy]]//​ 
  • personnaliser_live_cd.1185872504.txt.gz
  • Dernière modification: Le 18/04/2011, 14:54
  • (modification externe)