Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
tutoriel:comment_customiser_le_cd_installation [Le 18/06/2007, 13:42] Fengy effacée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>personnalisation tutoriel}} | ||
- | ---- | ||
- | |||
- | ===== Inroduction ===== | ||
- | |||
- | 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 liveCD ==== | ||
- | |||
- | 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/mylicecd//. | ||
- | |||
- | <code>export WORK=~/mylivecd | ||
- | mkdir -p $WORK</code> | ||
- | |||
- | Le ~ est un raccourci pointant vers /home/monlogin. | ||
- | |||
- | ==== Montage de l'ISO du liveCD ==== | ||
- | |||
- | Il va falloir maintenant monter l'image du LiveCD 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> | ||
- | |||
- | ==== 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. | ||
- | |||
- | <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 LiveCD original est fourni avec quelques programmes Windows permettant de promouvoir Ubuntu quand on utilise le LiveCD sur une plateforme Windows. | ||
- | |||
- | On peut donc supprimer sans souci ce répertoire (95MB d'économisé) | ||
- | <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. | ||
- | |||
- | ==== Création de l'image ==== | ||
- | |||
- | On va créer une image de 2 Go (taille maximum décompressée du LiveCD), 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 : | ||
- | |||
- | <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 (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 personnalisation du système ==== | ||
- | |||
- | 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 | ||
- | sudo mount -t proc -o bind /proc $WORK/new/proc | ||
- | sudo chroot $WORK/new /bin/bash</code> | ||
- | |||
- | Nous sommes maintenant connecté en root (grâce au chroot) au système de fichiers du LiveCD. 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 LiveCD 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> | ||
- | |||
- | Le LiveCD 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 LiveCD 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 LiveCD ==== | ||
- | |||
- | 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 LiveCD ==== | ||
- | |||
- | Montez votre nouvelle ISO avec qemu. | ||
- | <code>qemu -cdrom ubuntu-new.iso</code> | ||
- | |||
- | Une fois que vous êtes dans le LiveCD, faites toutes les modifications que vous voulez (fond d'écran, raccourcis sur le bureau, programmes à lancer au démarrage). 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 [[comment_customiser_le_cd_installation#ultimes_modifications|ce point]]. | ||
- | |||
- | ------ | ||
- | //Contributeur : [[utilisateurs:adam0509|adam0509]], [[utilisateurs:Fengy|Fengy]]// |