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 | ||
| personnaliser_livecd [Le 12/03/2021, 17:22] – [Méthodes assistées] 88.122.224.21 | personnaliser_livecd [Le 19/10/2025, 08:53] (Version actuelle) – andykimpe | ||
|---|---|---|---|
| Ligne 4: | Ligne 4: | ||
| ====== Comment personnaliser son live CD Ubuntu ====== | ====== Comment personnaliser son live CD Ubuntu ====== | ||
| - | Dans ce tutoriel, nous vous expliquerons comment créer votre propre liveCD (ou liveDVD), | + | ====== Pour Ubuntu 18.04 ====== |
| - | en modifiant un liveCD ubuntu déjà existant afin qu'il corresponde à vos besoins. | + | |
| - | Vous pourrez par exemple installer les paquets que vous souhaitez, | + | |
| - | mettre dans le /home du liveCD les fichiers dont vous avez besoin, etc. | + | |
| + | https:// | ||
| - | ===== Méthodes assistées | + | ====== pour ubuntu 20.04 ====== |
| - | Il existe plusieurs applications permettant de personnaliser votre liveCD : | + | https://doc.ubuntu-fr.org/ |
| - | * [[:UCK]] | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | *[[ http://forum.ubuntu-fr.org/ | + | |
| - | * [[http:// | + | |
| - | * puis [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[http:// | + | |
| - | * Le script " | + | |
| - | * [[http:// | + | |
| + | ====== pour ubuntu 22.04 ====== | ||
| - | <note tip>Il est recommandé d' | + | https:// |
| - | ===== Méthode manuelle | + | ====== pour ubuntu 24.04 ====== |
| - | ==== Prérequis ==== | + | https://doc.ubuntu-fr.org/ |
| - | + | ||
| - | * Posséder une image CD (iso) d' | + | |
| - | * Disposer d' | + | |
| - | * Installer les outils relatifs au squashfs (format de compression en lecture seule utilisé dans les ISOs Ubuntu) : <code bash> | + | |
| - | + | ||
| - | ==== Introduction : Généralités sur le liveCD ==== | + | |
| - | + | ||
| - | Comme vous le savez, un liveCD est un CD bootable, qui va charger un système | + | |
| - | Linux en mémoire vive. Cela permet de tester une distribution sans risquer de faire | + | |
| - | des dégâts sur les disques dur, par exemple.\\ | + | |
| - | Un liveCD Linux n'est donc rien d' | + | |
| - | son but étant d' | + | |
| - | Pour la compression, | + | |
| - | qui ne permet que la lecture mais permet un gain de place très important.\\ | + | |
| - | Malheureusement, | + | |
| - | On l' | + | |
| - | Un dernier système de fichier permet d' | + | |
| - | Unionfs est utilisable grâce à l' | + | |
| - | en mémoire au boot, et d'agir sur le « vrai » système.\\ | + | |
| - | Le soft casper permet la mise en place du boot du liveCD a partir de l' | + | |
| - | + | ||
| - | + | ||
| - | ==== Extraction du système ==== | + | |
| - | + | ||
| - | On commence par extraire le squashfs de l' | + | |
| - | les modifications souhaitées.\\ | + | |
| - | Au cours du tutoriel, nous allons utiliser plusieurs dossiers. | + | |
| - | | + | |
| - | + | ||
| - | <code bash> | + | |
| - | cd ~/livecd | + | |
| - | mkdir iso squashfs</ | + | |
| - | + | ||
| - | L' | + | |
| - | + | ||
| - | Il nous faut commencer par copier le contenu de l' | + | |
| - | + | ||
| - | * On va donc la monter : // Remplacez ubuntu-desktop-xxx.iso par le chemin de votre fichier ISO.//< | + | |
| - | + | ||
| - | * On copie son contenu dans le dossier iso : // | + | |
| - | + | ||
| - | * Une fois cela fait, on peut la démonter :<code bash> | + | |
| - | \\ | + | |
| - | + | ||
| - | === Copie du squashfs === | + | |
| - | + | ||
| - | Nous allons maintenant copier le squashfs (le système de fichier de notre liveCD) | + | |
| - | sur le disque dur afin de pouvoir le modifier. | + | |
| - | + | ||
| - | * On le monte de la même manière que n' | + | |
| - | sudo mount -t squashfs -o loop iso/ | + | |
| - | < | + | |
| - | qui est présente dans le squashfs.</ | + | |
| - | * Comme nous l' | + | |
| - | + | ||
| - | * Pour finir, on le démonte :<code bash> | + | |
| - | + | ||
| - | ==== Modification du système ==== | + | |
| - | Maintenant que nous avons notre système dans le dossier '' | + | |
| - | nous allons pouvoir le modifier à notre guise. Mais comment utiliser les logiciels | + | |
| - | qui y sont présents, pour travailler proprement dessus ? C'est là que le chroot intervient. | + | |
| - | <note tip>Le chroot permet de "se connecter" | + | |
| - | | + | |
| - | hôte (votre jolie Ubuntu à vous ;-) ). C'est une Inception, si vous voulez !</ | + | |
| - | <note warning> Il faut que le système hôte ait une architecture au moins du | + | |
| - | niveau du système hébergé : votre Ubuntu doit être en 64b pour chrooter | + | |
| - | dans un système 64b.\\ Si vous essayez de modifier un système 64b dans | + | |
| - | une installation 32b, vous aurez une erreur qui ressemble | + | |
| - | à <code bash> | + | |
| - | Vous pourrez modifier votre système hébergé (presque) comme s'il était installé en dur ! | + | |
| - | + | ||
| - | === Chroot === | + | |
| - | + | ||
| - | * Quelques réglages préalables pour que le chroot fonctionne correctement :<code bash> | + | |
| - | sudo mount --bind /proc squashfs/ | + | |
| - | sudo mount --bind /sys squashfs/ | + | |
| - | sudo mount -t devpts none squashfs/ | + | |
| - | d' | + | |
| - | <note tip>En cas d' | + | |
| - | <code bash> | + | |
| - | sudo mount --bind /dev squashfs/ | + | |
| - | sudo mount --bind /dev/pts squashfs/ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | <note tip> | + | |
| - | En cas d' | + | |
| - | <code bash> | + | |
| - | Failed to open connection to " | + | |
| - | to socket / | + | |
| - | </ | + | |
| - | il peut être utile de mettre : | + | |
| - | <code bash> | + | |
| - | sudo mount --bind / | + | |
| - | </ | + | |
| - | </ | + | |
| - | ==Quelques réglages pas nécessaires, | + | |
| - | * Pour utiliser la connexion du système hôte (mettre à jour, installer des logiciels) :<code bash> | + | |
| - | * Pour pouvoir lancer un serveur PostgreSQL ou un LAMP dans le chroot (il faudra préalablement éteindre les serveurs sur la machine hôte pour éviter les conflits de port)< | + | |
| - | * Pour avoir la même liste de dépôts :<code bash> | + | |
| - | <note important> | + | |
| - | que vous modifiez et le système à partir duquel vous | + | |
| - | le modifiez sont de la même version d' | + | |
| - | Dans le cas contraire, vous n' | + | |
| - | les bonnes versions des paquets.</ | + | |
| - | * Vous pouvez alors éditer manuellement les fichiers '' | + | |
| - | + | ||
| - | * Si vous souhaitez lancer des applications graphiques, vous devez permettre au chroot d' | + | |
| - | + | ||
| - | Pour finir, on peut entrer dans le chroot : <code bash> | + | |
| - | + | ||
| - | === Exemples de modifications === | + | |
| - | + | ||
| - | <note important> | + | |
| - | Vous ne saurez qu'à la reconstruction du squashfs si votre iso | + | |
| - | | + | |
| - | soit vous pourrez graver un DVD, ou utiliser un LiveUSB.</ | + | |
| - | <note tip>Pas besoin de '' | + | |
| - | en Root (super-utilisateur).</ | + | |
| - | Vous pouvez, si vous avez lancé '' | + | |
| - | | + | |
| - | + | ||
| - | == Mise à jour du système == | + | |
| - | + | ||
| - | <code bash> | + | |
| - | apt-get update | + | |
| - | apt-get dist-upgrade | + | |
| - | apt-get install console-data # Sélectionner le clavier français | + | |
| - | </ | + | |
| - | <note warning> | + | |
| - | une mise à jour du kernel, ce qui vous obligera à une manipulation | + | |
| - | supplémentaire à la fin.</ | + | |
| - | + | ||
| - | == Installation / Désinstallation de paquets == | + | |
| - | + | ||
| - | * Installez les paquets que vous souhaitez à l'aide de la commande '' | + | |
| - | + | ||
| - | * Vous pouvez lister les paquets par taille pour voir ceux qui prennent de la place.< | + | |
| - | dpkg-query -W --showformat=' | + | |
| - | </ | + | |
| - | * Supprimez ceux qui ne vous servent à rien :<code bash> | + | |
| - | + | ||
| - | <note tip> | + | |
| - | | + | |
| - | d'une mise à niveau de la distribution. Ce paquet devrait donc figurer | + | |
| - | sur tout liveCD destiné à être distribué à un certain nombre | + | |
| - | | + | |
| - | Il est donc bon, après avoir fini de faire les modifications, | + | |
| - | d' | + | |
| - | pour s' | + | |
| - | + | ||
| - | == Modifier les raccourcis de la barre de lanceurs Unity == | + | |
| - | + | ||
| - | <code bash> | + | |
| - | echo " | + | |
| - | favorites=[' | + | |
| - | glib-compile-schemas / | + | |
| - | + | ||
| - | == Autres modifications == | + | |
| - | * On peut utiliser l' | + | |
| - | * Synaptic permet de gérer les logiciels installés. <code bash> | + | |
| - | + | ||
| - | * Il est logique de supprimer les fichiers de cache pour ne pas surcharger le cd :<code bash> | + | |
| - | * Et les logs de crash :<code bash>rm -r / | + | |
| - | * FIXME On peut supprimer le cache : (http:// | + | |
| - | + | ||
| - | == Sortie du chroot == | + | |
| - | + | ||
| - | D' | + | |
| - | + | ||
| - | * On sort du chroot :<code bash> | + | |
| - | umount -lf /proc | + | |
| - | umount -lf /dev/pts | + | |
| - | umount -lf /dev #dans le cas où on a exécuté sudo mount --bind /dev squashfs/ | + | |
| - | rm / | + | |
| - | rm / | + | |
| - | exit</ | + | |
| - | + | ||
| - | == Insérer des fichiers == | + | |
| - | **__Dans le répertoire utilisateur__** | + | |
| - | + | ||
| - | L' | + | |
| - | | + | |
| - | | + | |
| - | Placez donc tous les fichiers que vous voulez dans ce dossier, | + | |
| - | ils apparaîtront dans le répertoire personnel après le boot. | + | |
| - | <code bash> | + | |
| - | sudo cp *votre fichier* squashfs/ | + | |
| - | </ | + | |
| - | + | ||
| - | Nous allons pouvoir utiliser cette technique un peu plus tard pour | + | |
| - | | + | |
| - | + | ||
| - | **__Dans le système__**, | + | |
| - | | + | |
| - | * Des thèmes< | + | |
| - | * Des fonds d' | + | |
| - | + | ||
| - | == Rendre le boot explicite == | + | |
| - | + | ||
| - | Il est possible de supprimer l' | + | |
| - | afin que toutes les étapes soient détaillées.\\ | + | |
| - | Éditez le fichier isolinux.cfg qui se trouve dans le dossier iso : | + | |
| - | <code bash> | + | |
| - | Supprimez toutes les occurrences du mot '' | + | |
| - | Vous pouvez également supprimer le mot '' | + | |
| - | vous supprimerez ainsi le logo Ubuntu ainsi que la barre de chargement.\\ | + | |
| - | Enregistrez et quittez. | + | |
| - | + | ||
| - | == Utiliser le français par défaut == | + | |
| - | <code bash> | + | |
| - | + | ||
| - | == Modifier l' | + | |
| - | | + | |
| - | par le programme casper. Pour modifier celui-ci, Il faut : | + | |
| - | - modifier les fichiers de configuration de casper | + | |
| - | - régénérer le fichier initrd dans le squashfs (en chroot) | + | |
| - | + | ||
| - | * Modifier le nom de l' | + | |
| - | + | ||
| - | Ce fichier est court et explicite : | + | |
| - | > # This file should go in / | + | |
| - | > # Supported variables are: | + | |
| - | > # USERNAME, USERFULLNAME, | + | |
| - | > | + | |
| - | > export USERNAME=" | + | |
| - | > export USERFULLNAME=" | + | |
| - | > export HOST=" | + | |
| - | > export BUILD_SYSTEM=" | + | |
| - | > | + | |
| - | > # USERNAME and HOSTNAME as specified above won't be honoured and will be set to | + | |
| - | > # flavour string acquired at boot time, unless you set FLAVOUR to any | + | |
| - | > # non-empty string. | + | |
| - | > | + | |
| - | > # export FLAVOUR=" | + | |
| - | + | ||
| - | + | ||
| - | Modifiez les valeurs à votre convenance. | + | |
| - | <note important> | + | |
| - | Par défaut, cet utilisateur possède les droits d' | + | |
| - | sans qu' | + | |
| - | </ | + | |
| - | Si vous voulez conserver cette propriété, | + | |
| - | | + | |
| - | > export USERNAME=" | + | |
| - | > export USERFULLNAME=" | + | |
| - | > export HOST=" | + | |
| - | > export BUILD_SYSTEM=" | + | |
| - | > | + | |
| - | > # USERNAME and HOSTNAME as specified above won't be honoured and will be set to | + | |
| - | > # flavour string acquired at boot time, unless you set FLAVOUR to any | + | |
| - | > # non-empty string. | + | |
| - | > | + | |
| - | > export FLAVOUR=" | + | |
| - | + | ||
| - | Et passez directement à la section suivante : régénération du fichier initrd | + | |
| - | + | ||
| - | Si vous voulez modifier ce comportement, | + | |
| - | ubuntu et remplacez-les par mon_utilisateur, | + | |
| - | > export USERNAME=" | + | |
| - | > export USERFULLNAME=" | + | |
| - | > export HOST=" | + | |
| - | > export BUILD_SYSTEM=" | + | |
| - | > | + | |
| - | > # USERNAME and HOSTNAME as specified above won't be honoured and will be set to | + | |
| - | > # flavour string acquired at boot time, unless you set FLAVOUR to any | + | |
| - | > # non-empty string. | + | |
| - | > | + | |
| - | > export FLAVOUR=" | + | |
| - | + | ||
| - | Et modifiez le mot de passe. | + | |
| - | + | ||
| - | * Modifier le mot de passe | + | |
| - | Commencez par créer un mot de passe crypté : | + | |
| - | + | ||
| - | //le mot de passe étant conservé dans un fichier accessible en lecture, | + | |
| - | il est nécessaire de le crypter pour préserver sa confidentialité// | + | |
| - | < | + | |
| - | mkpasswd -s monmotdepasse | + | |
| - | U5dDh03hz1L6. | + | |
| - | </ | + | |
| - | Votre mot de passe est ici " | + | |
| - | la forme " | + | |
| - | + | ||
| - | Et insérez-le dans le script de création de l' | + | |
| - | < | + | |
| - | ~/livecd$ gksudo gedit squashfs/ | + | |
| - | </ | + | |
| - | + | ||
| - | <note important> | + | |
| - | Avec ubuntu 14.04, il semblerait que le fichier 10adduser soit | + | |
| - | devenu 25adduser, si vous obtenez un fichier vide avec la ligne | + | |
| - | ci-dessus essayez en remplaçant 10adduser par 25adduser | + | |
| - | </ | + | |
| - | + | ||
| - | Repérez la section suivante : | + | |
| - | > set passwd/ | + | |
| - | > set passwd/ | + | |
| - | + | ||
| - | Insérez votre nouveau mot de passe : | + | |
| - | > set passwd/ | + | |
| - | > set passwd/ | + | |
| - | + | ||
| - | <note important> | + | |
| - | Lors du démarrage, l' | + | |
| - | Pour que cette création se passe bien il faut qu'il n'y ait | + | |
| - | aucun utilisateur existant ayant un UID == 999. | + | |
| - | Pour détecter le problème, exécutez la commande: | + | |
| - | < | + | |
| - | awk -F: '$3 == 999' / | + | |
| - | </ | + | |
| - | Et modifiez les UID des utilisateurs trouvés: | + | |
| - | < | + | |
| - | usermod -u 500 < | + | |
| - | usermod -u 501 < | + | |
| - | </ | + | |
| - | + | ||
| - | Par exemple, l' | + | |
| - | |additions invités de virtualbox]] créé un utilisateur vboxadd pouvant avoir l'uid 999. | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | * Régénération du fichier initrd | + | |
| - | Pour que ces modifications soient prises en compte, il est impératif de | + | |
| - | recréer le fichier initrd qui est chargé au boot. Cette étape est | + | |
| - | | + | |
| - | < | + | |
| - | ~/livecd$ sudo chroot squashfs | + | |
| - | update-initramfs -k all -u | + | |
| - | exit | + | |
| - | </ | + | |
| - | + | ||
| - | Ceci n'est qu'un aperçu des modifications que vous pouvez faire, | + | |
| - | il serait impossible de les lister toutes. | + | |
| - | + | ||
| - | + | ||
| - | ==== Création du nouveau LiveCD ==== | + | |
| - | + | ||
| - | Maintenant que le système correspond à vos besoins, | + | |
| - | nous allons recréer un liveCD à partir de votre système personnalisé. | + | |
| - | + | ||
| - | === Reconstruction du squashfs === | + | |
| - | + | ||
| - | * Tout d' | + | |
| - | sudo chmod a+w iso/ | + | |
| - | sudo chroot squashfs dpkg-query -W --showformat=' | + | |
| - | sudo chmod go-w iso/ | + | |
| - | </ | + | |
| - | Pour n' | + | |
| - | et qu'ils ne s' | + | |
| - | il suffit de les ajouter au fichier | + | |
| - | < | + | |
| - | + | ||
| - | * On efface l' | + | |
| - | * On recrée le nouveau : <code bash> | + | |
| - | cd squashfs | + | |
| - | sudo mksquashfs . ../ | + | |
| - | cd ..</ | + | |
| - | + | ||
| - | Comme toute compression, | + | |
| - | + | ||
| - | On rajoute -info à la fin qui équivaut à un verbose... pratique | + | |
| - | pour voir l' | + | |
| - | et aussi pour voir ce qui pourrait éventuellement bloquer. \\ | + | |
| - | Une fois la procédure terminée, la taille de votre fichier s' | + | |
| - | dans le terminal, vous savez donc si vous avez dépassé la taille maximale ou pas. | + | |
| - | Si c'est le cas, supprimez des applications/ | + | |
| - | + | ||
| - | + | ||
| - | === Reconstruction de l'iso === | + | |
| - | <note important> | + | |
| - | l' | + | |
| - | il va falloir remplacer deux fichiers essentiels sur l' | + | |
| - | que l'on trouve dans '' | + | |
| - | On les remplace par les fichiers vmlinuz-* et initrd-img* que | + | |
| - | l'on trouve dans le dossier squashfs/ | + | |
| - | <code bash> | + | |
| - | sudo cp squashfs/ | + | |
| - | sudo cp squashfs/ | + | |
| - | FIXME : Je crois que le nom des fichiers n'est plus à jour. (mis à jour ubuntu 12.04.3)</ | + | |
| - | + | ||
| - | + | ||
| - | * On régénère une nouvelle somme de contrôle MD5 afin qu' | + | |
| - | cd iso | + | |
| - | sudo bash -c "find . -path ./isolinux -prune -o -type f -not -name md5sum.txt -print0 | xargs -0 md5sum | tee md5sum.txt" | + | |
| - | </ | + | |
| - | + | ||
| - | * Il ne reste plus qu'à reconstruire l' | + | |
| - | sudo mkisofs -r -V " | + | |
| - | + | ||
| - | <note important> | + | |
| - | La commande équivalente avec genisoimage :</ | + | |
| - | <code bash> | + | |
| - | sudo genisoimage -o "Nom personnalisé.iso" | + | |
| - | Renommer le fichier "nom personnalisé" | + | |
| - | + | ||
| - | * Cette image ne peut être copiée que sur DVD. Si vous souhaitez | + | |
| - | pouvoir copier cette image sur une clé USB, exécutez la commande suivante sur votre ISO :<code bash> | + | |
| - | sudo isohybrid "nom personnalisé.iso"</ | + | |
| - | De cette façon tous les supports bootables seront supportés par votre ISO. | + | |
| - | ==== Modifications de la configuration du compte utilisateur ==== | + | |
| - | + | ||
| - | Votre liveCD est prêt à l' | + | |
| - | la section Modifications, | + | |
| - | dans le répertoire utilisateur. \\ Voici une méthode pour configurer votre session live. | + | |
| - | * Démarrez sur le liveCD, physiquement ou en utilisant un logiciel de virtualisation : ([[virtualbox]] ou [[qemu]]) | + | |
| - | * Configurez vos logiciels (Thunderbird, | + | |
| - | * Après avoir fini, **ne redémarrez pas, ça effacerait toute votre personnalisation**, | + | |
| - | * Retournez sur votre Ubuntu, où se trouve le dossier '' | + | |
| - | * Recopiez alors le contenu de la sauvegarde/ | + | |
| - | sudo cp -r DOSSIER_DE_SAUVEGARDE/ | + | |
| - | sudo chown -R root:root squashfs/ | + | |
| - | + | ||
| - | * Vérifiez que les fichiers sont au bon emplacement avec ls. | + | |
| - | * Vous devez voir les fichiers de configuration sous cette forme :<code bash> | + | |
| - | ls -la squashfs/ | + | |
| - | + | ||
| - | drwxr-xr-x | + | |
| - | drwx------ | + | |
| - | drwx------ | + | |
| - | drwxr-xr-x | + | |
| - | drwx------ | + | |
| - | drwx------ | + | |
| - | drwxr-xr-x | + | |
| - | ... | + | |
| - | </ | + | |
| - | + | ||
| - | Si tout est OK, il ne reste qu'à recréer une image avec ce nouveau contenu. | + | |
| - | + | ||
| - | Recommencez à partir de [[# | + | |
| - | Au prochain démarrage de l' | + | |
| - | seront installés et pris en compte. | + | |
| - | ===== Liens ===== | + | |
| - | + | ||
| - | * [[https://help.ubuntu.com/ | + | |
| - | * [[http:// | + | |
| - | * créer/ | + | |
| - | * [[http:// | + | |
| - | * [[http:// | + | |
| - | * |Une solution pour personnaliser facilement viso iso de | + | |
| - | * liveCD (Ubuntu/ | + | |
| - | * [[: | + | |
| - | * pour la création des Editions Francophones d' | + | |
| - | * [[http:// | + | |
| - | * script de smo pour créer/ | + | |
| - | * avec chroot graphique et export sur usb/iso]] | + | |
| - | + | ||
| - | ---- | + | |
| - | // | + | |
| - | Eric Buist, Gpocentek ([[projets: | + | |
| - | | + | |
