Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| installation:custom_livecd [Le 17/05/2007, 12:31] – 85.27.16.142 | installation:custom_livecd [Le 07/07/2007, 11:58] (Version actuelle) – Page déjà existante, infos obsolète Fengy | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | < | ||
| - | Version Hoary | ||
| - | </ | ||
| - | [[https:// | ||
| - | |||
| - | ===== Comment personnaliser le nouveau Live CD Ubuntu ? ===== | ||
| - | |||
| - | Nous expliquerons ici comment construire un LiveCD Ubuntu personnalisé, | ||
| - | Pourquoi? Et bien, parce que certaines personnes souhaitent créer un Live CD spécialisé afin de disposer d'une application particulière ou dans une langue spécifique. Si vous pensez à d' | ||
| - | |||
| - | ===== Configuration requise ===== | ||
| - | |||
| - | * Environ 3 gigaoctets d' | ||
| - | * Les outils cloop (paquet cloop-utils) afin de compresser et de décompresser l' | ||
| - | * mkisofs | ||
| - | * Le module cloop (donc noyau Ubuntu à partir du 2.6.9-7) | ||
| - | * Beaucoup d' | ||
| - | |||
| - | Si vous n'avez pas assez d' | ||
| - | |||
| - | < | ||
| - | sudo dd if=/ | ||
| - | sudo mkswap /tmp/swap | ||
| - | sudo swapon /tmp/swap | ||
| - | </ | ||
| - | |||
| - | Copiez-collez: | ||
| - | < | ||
| - | sudo apt-get install cloop-utils mkisofs | ||
| - | echo " | ||
| - | </ | ||
| - | |||
| - | ===== Procédure ===== | ||
| - | |||
| - | Dans un premier temps vous devrez extraire l' | ||
| - | Simple. | ||
| - | |||
| - | ===== L' | ||
| - | |||
| - | |||
| - | NOTE: Avant de commencer assurez vous que votre variable locale est définie à C (en évitant Unicode – mais ne le faites pas partout sauf si vous savez ce que vous faites), cela rend juste la vie plus facile: | ||
| - | < | ||
| - | $ export LC_ALL=C | ||
| - | </ | ||
| - | Récupérez une image du CD à partir de [[http:// | ||
| - | |||
| - | 1. Montez l' | ||
| - | < | ||
| - | $ mkdir mnt | ||
| - | $ sudo mount hoary-live-i386.iso mnt -o loop | ||
| - | </ | ||
| - | 2. Extrayez tout, à l' | ||
| - | < | ||
| - | $ rsync --exclude=/ | ||
| - | </ | ||
| - | 3. Là, nous décompressons et nous extrayons le système de fichier compressé: | ||
| - | < | ||
| - | $ extract_compressed_fs mnt/ | ||
| - | </ | ||
| - | (Allez prendre un thé, parcequ' | ||
| - | |||
| - | 4. Après tout ça nous en avons fini avec le CD original et nous pouvons le démonter (et peut-être l' | ||
| - | < | ||
| - | $ sudo umount mnt | ||
| - | </ | ||
| - | ===== Personnalisations ===== | ||
| - | |||
| - | |||
| - | Afin de personnaliser nous montons le système de fichier que nous venons de décompresser, | ||
| - | |||
| - | |||
| - | |||
| - | ==== Preparation du “chroot” ==== | ||
| - | |||
| - | |||
| - | |||
| - | 1.Afin de monter le système de fichier décompressé nous faisons: | ||
| - | < | ||
| - | $ sudo mount extracted_fs mnt -o loop | ||
| - | </ | ||
| - | 2.Monter “proc” et “sysfs” peut également être une bonne idée: | ||
| - | < | ||
| - | $ sudo mount -t proc proc mnt/proc | ||
| - | $ sudo mount -t sysfs sysfs mnt/sys | ||
| - | </ | ||
| - | 3.Si vous souhaitez transférer des données depuis votre répertoire personnel, la méthode la plus simple consiste à faire un montage lié: | ||
| - | < | ||
| - | $ sudo mount -o bind /home mnt/home | ||
| - | </ | ||
| - | NOTE: évidemment préserver l' | ||
| - | |||
| - | ==== Support de langues (hoary) ==== | ||
| - | |||
| - | |||
| - | Afin d' | ||
| - | |||
| - | Vous pouvez pré-sélectionner une langue au boot en suivant la procédure suivante: éditez extracted_cd/ | ||
| - | |||
| - | Par exemple, afin de supporter le grec, installez language-pack-el, | ||
| - | |||
| - | Afin de définir également le clavier par défaut, ajoutez preseed/ | ||
| - | |||
| - | ==== Support de langues (breezy) ==== | ||
| - | |||
| - | |||
| - | Comme précédemment, | ||
| - | |||
| - | ==== Mise à jour de paquetages spécifiques ==== | ||
| - | |||
| - | |||
| - | 1.Si vous avez besoin de tester un paquetage supplémentaire sur un live CD, c'est facile: | ||
| - | < | ||
| - | $ sudo chroot mnt/ /bin/sh | ||
| - | # cd dir-holding-all-packages/ | ||
| - | # dpkg -BOGiE *.deb | ||
| - | </ | ||
| - | Cela ne fera que mettre à jour les paquetages déjà présent sur le liveCD, avec la version la plus récente disponible. | ||
| - | |||
| - | ==== Installation de paquetages supplémentaires ==== | ||
| - | |||
| - | Le but pour un LiveCD est de mettre à disposition une application qui n'est normalement pas installée sur le CD. | ||
| - | |||
| - | NOTE: L' | ||
| - | |||
| - | 1.Copiez resolv.conf (contenant des addresses DNS déja résolues, car le DNS ne fonctionnent pas dans le “chroot”): | ||
| - | < | ||
| - | $ sudo cp / | ||
| - | </ | ||
| - | 2.Si les paquetages que vous souhaitez ajouter ne sont pas disponibles avec le fichier source.list par défaut, vous devez le modifier ou copier le votre: | ||
| - | < | ||
| - | $ sudo vi mnt/ | ||
| - | </ | ||
| - | 3.Finalement, | ||
| - | < | ||
| - | $ sudo chroot mnt /bin/bash | ||
| - | # apt-get update | ||
| - | # apt-get install banana deadly-weapon | ||
| - | # apt-get clean | ||
| - | # dpkg --purge foobaz | ||
| - | # exit | ||
| - | </ | ||
| - | 4.On régénère le “manifest” afin qu'il reflète tous les changements que l'on a apporté: | ||
| - | < | ||
| - | $ sudo chroot mnt dpkg-query -W --showformat=' | ||
| - | </ | ||
| - | |||
| - | ==== Trouver les paquetages à supprimer ==== | ||
| - | |||
| - | Evidemment supprimer des paquetages est dangereux ; vous procédez à vos risques et périls. Quoiqu' | ||
| - | < | ||
| - | dpkg-query -W --showformat=' | ||
| - | </ | ||
| - | |||
| - | === A FAIRE : === | ||
| - | |||
| - | * Aider à supprimer des trucs – liste de paquetages ' | ||
| - | |||
| - | ==== Personnalisations GNOME ==== | ||
| - | |||
| - | Une liste des personnalisations spécifiques à GNOME (modifications de clés gconf, modifications de couleurs de GDM, etc.) est sur [[installation: | ||
| - | |||
| - | ==== Fermeture du “chroot” ==== | ||
| - | |||
| - | Assurez vous de démonter tout ce qui à été monté lors de la création du “chroot” (tmp?? var/ | ||
| - | < | ||
| - | $ sudo umount mnt/proc | ||
| - | $ sudo umount mnt/sys | ||
| - | $ sudo umount mnt | ||
| - | </ | ||
| - | |||
| - | ===== Personnalisation de l' | ||
| - | |||
| - | Afin de créer un écran de démarrage personnalisé: | ||
| - | |||
| - | - Créez une image de 640 pixels de large et ayant une hauteur située entre 200 et 300 pixels, en 16 couleurs. (Vous pouvez convertir en 16 couleurs dans GIMP avec le menu " | ||
| - | |||
| - | - Sauvez l' | ||
| - | |||
| - | - Convertissez le BMP en format RLE : bmptoppm < splash.bmp | ppmtolss16 > splash.rle Sivous n'avez pas ces outils, bmptoppm est dans le paquetage netpbm, et ppmtolss16 is dans le paquetage syslinux. | ||
| - | |||
| - | - Copiez le résultat (splash.rle) dans extracted_cd/ | ||
| - | |||
| - | ===== Nettoyer l' | ||
| - | |||
| - | |||
| - | Ok, voici le blem: si vous avez effacé des fichiers, les blocs correspondants dans extracted_fs ne sont pas remis à zéro. Aussi pour le programme create_compressed_fs (celui qui compresse l' | ||
| - | |||
| - | Aussi la méthode simple consiste à copier l' | ||
| - | < | ||
| - | $sudo mkdir mnt.new | ||
| - | $sudo dd if=/ | ||
| - | $sudo mkfs.ext2 extracted_fs.new | ||
| - | $sudo mount -o loop, | ||
| - | $sudo mount -o loop, | ||
| - | $sudo rsync -avx --progress mnt/. mnt.new/ | ||
| - | $sudo umount mnt mnt.new | ||
| - | </ | ||
| - | |||
| - | Maintenant, vous avez une nouvelle image, extracted_fs.new, | ||
| - | |||
| - | ===== Reconstruire le CD ===== | ||
| - | |||
| - | |||
| - | OK, tout est fait. Nous n' | ||
| - | |||
| - | - Compressez le système de fichier et remettez le sur le CD (une autre tasse de thé s' | ||
| - | |||
| - | < | ||
| - | $ sudo create_compressed_fs extracted_fs.new 65536 > extracted_cd/ | ||
| - | </ | ||
| - | |||
| - | TRUC: Si vous souhaitez un meilleur compression (MattZimmerman: | ||
| - | |||
| - | < | ||
| - | $ sudo create_compressed_fs --best extracted_fs.new 65536 > extracted_cd/ | ||
| - | </ | ||
| - | |||
| - | - Générez le fichier md5sum.txt : | ||
| - | |||
| - | < | ||
| - | $ (cd extracted_cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt) | ||
| - | </ | ||
| - | |||
| - | - Là nous reconstruisons le CD. NOTE : Cette procedure est spécifique aux LiveCD pour plateforme Intel x86 (i386) et x86_64 (amd64). D' | ||
| - | |||
| - | < | ||
| - | $ sudo mkisofs -r -V " | ||
| - | -cache-inodes \ | ||
| - | -J -l -b isolinux/ | ||
| - | -c isolinux/ | ||
| - | -boot-load-size 4 -boot-info-table \ | ||
| - | -o custom-hoary-live-i386.iso extracted_cd | ||
| - | </ | ||
| - | |||
| - | Sur PowerPC, download | ||
| - | |||
| - | < | ||
| - | $ sudo mkisofs -r -V " | ||
| - | --netatalk -hfs -probe -map hfs.map \ | ||
| - | -part -no-desktop \ | ||
| - | -hfs-bless extracted_cd/ | ||
| - | -hfs-volid Ubuntu/ | ||
| - | -o custom-hoary-live-powerpc.iso extracted_cd | ||
| - | </ | ||
| - | |||
| - | Je me suis aperçu que la commande ci-dessus ne créait pas de CD bootable, en googlant en rond pendant 5 jours j'ai trouvé ça et maintenant ça boot : | ||
| - | |||
| - | < | ||
| - | $ sudo mkisofs -o new_image.iso -chrp-boot \ | ||
| - | -U -part -hfs -T -r -l -J -A " | ||
| - | -sysid PPC -V " | ||
| - | -volset-seqno 1 -hfs-volid " | ||
| - | -hfs-bless extracted_cd/ | ||
| - | -map hfs.map -no-desktop -allow-multidot extracted_ppc_cd | ||
| - | </ | ||
| - | |||
| - | **Enfin nous y sommes!** | ||
| - | |||
| - | ===== Plus d'info ===== | ||
| - | |||
| - | Le LiveCD est basé sur l' | ||
| - | Peut-être pouvez-vous trouver plus d' | ||
| - | |||
| - | NOTE: aucune modification du code source n'est nécessaire afin de personnaliser l' | ||
