Dernière mise à jour : 11/02/2016 à 17h18
Table des matières
Personnaliser une image d'un DVD-Live
Ce tutoriel montre comment changer le contenu d'un DVD-LIVE-XXX pour l'adapter à vos besoins. Il décrit une succession d'étapes qui doivent être réalisées dans le même ordre.
- Création de l'infrastructure : créer un répertoire de travail où vous effectuerez le travail du début à la fin.
- Téléchargement et installation : récupération de l'image ISO originelle et installation des outils nécessaires.
- Décompression et changement de racine : décompresser l'image ISO sauvegarder les fichiers utiles pour plus tard, et faire du système décompresser le système courant (chroot)
- Opérations dans l'environnement : Configurer et adapter le nouvel environnement à vos besoins, ce qui deviendra le résultat de ce tutoriel.
- Post-production et nettoyage : quitter le nouvel environnement et nettoyer.
- Création de la nouvelle image : compresser le nouveau système dans une image ISO et l'hybrider pour qu'elle soit utilisable sur un DVD ou avec une clé USB.
Départ
Prérequis
- une image ISO d'une version LIVE de Mageia (nous avons choisi Mageia 5 kde4 32 bits)
- au moins 5Go d'espace libre dans la partition /home de votre disque dur pour construire la nouvelle image.
Le répertoire sera créé dans le dossier personnel de l'utilisateur. Si votre utilisateur est nommé wobo, vous créerez /home/wobo/isowork. Tout se passe ensuite dans ce répertoire. Vous pouvez évidemment placer votre répertoire de travail ailleurs, mais adaptez les instructions de ce tutoriel à votre choix.
Création de l'infrastruture et téléchargement de l'image
Ouvrir un terminal. La commande suivantes crée votre répertoire
Code BASH :
mkdir isowork cd isowork
et ensuite celle çi récupère l'image ISO (au choix)
Citation :
KDE4 32 bits
GNOME 32 bits
KDE4 64 bits
GNOME 64 bits
Code BASH :
wget -c ftp://download.asso-linux-online.fr/download/mageia-5/Mageia-5-LiveDVD-KDE4-i586-DVD/Mageia-5-LiveDVD-KDE4-i586-DVD.iso
GNOME 32 bits
Code BASH :
wget -c ftp://download.asso-linux-online.fr/download/mageia-5/Mageia-5-LiveDVD-GNOME-i586-DVD/Mageia-5-LiveDVD-GNOME-i586-DVD.iso
KDE4 64 bits
Code BASH :
wget -c ftp://download.asso-linux-online.fr/download/mageia-5/Mageia-5-LiveDVD-KDE4-x86_64-DVD/Mageia-5-LiveDVD-KDE4-x86_64-DVD.iso
GNOME 64 bits
Code BASH :
wget -c ftp://download.asso-linux-online.fr/download/mageia-5/Mageia-5-LiveDVD-GNOME-x86_64-DVD/Mageia-5-LiveDVD-GNOME-x86_64-DVD.iso
Installez ensuite les outils nécessaires :
Code BASH :
su [donner le mot de passe] urpmi isomaster squashfs-tools
Alternativement, pour utiliser xorriso à la place d'isomaster :
Code BASH :
su [donner le mot de passe] urpmi xorriso squashfs-tools
Décompression et changement de racine
Maintenant, démarrer isomaster depuis la console (vous êtes déjà l'utilisateur root)
Code BASH :
isomaster &
Dans la partie supérieure, utiliser le bouton "Revenir en arrière" pour naviguer jusqu'au nouveau répertoire isowork
Double cliquer sur le fichier image mageia-tsoin-tsoin.iso. Ceci montrera le contenu de l'image dans la partie inférieure de la fenêtre.
Dans la partie inférieure, double cliquer sur loopbacks, marquer le fichier distrib-lzma.sqfs et cliquer sur le bouton "Extraire“. L'opération est longue. Retourner dans la console mais laisser isomaster ouvert.
Alternative avec xorriso
On monte l'image ISO, on crée un dossier Image_ISO, on l'extrait dedans et on démonte l'image ISO
Code BASH :
mkdir /media/cdiso mount -o loop -t iso9660 Mageia-5-LiveDVD-KDE4-x86_64-DVD.iso /media/cdiso mkdir Image_ISO cp -a /media/cdiso/* Image_ISO umount /media/cdiso rm -d -f /media/cdiso
Maintenant, nous décompactons le fichier squashfs qui contient le système d'exploitation complet.
Code BASH :
unsquashfs distrib-lzma.sqfs
Puis nous sauvegardons certains fichiers de l'image ISO initiale que nous restaurerons plus tard :
Code BASH :
mkdir file_save mkdir file_save/etc mkdir file_save/etc/shorewall mkdir file_save/etc/sysconfig cp -r squashfs-root/var/lib/shorewall file_save/ cp squashfs-root/etc/hosts file_save/etc/hosts cp squashfs-root/etc/modprobe.conf file_save/etc/modprobe.conf cp squashfs-root/etc/modprobe.preload file_save/etc/modprobe.preload cp squashfs-root/etc/wpa_supplicant.conf file_save/etc/wpa_supplicant.conf cp squashfs-root/etc/shorewall/interfaces file_save/etc/shorewall/interfaces cp squashfs-root/etc/sysconfig/network file_save/etc/sysconfig/network
Pour la dernière étape, avant de se placer dans le répertoire du système décompacté, il faudra mettre en place une connexion réseau opérationnelle si vous voulez personnaliser votre système. Ensuite vous vous placez dans le répertoire du nouveau système et vous effectuez le changement de racine (c'est-à-dire le chroot).
Code BASH :
systemctl stop network.service cd squashfs-root mount -o bind /dev ./dev mount -o bind /proc ./proc mount -o bind /sys ./sys chroot . /bin/bash
Explication de chroot dans Wikipedia
Explication de SquashFS dans Wikipedia
Configuration et personnalisation
Maintenant que vous êtes connecté à un espace virtuel de Mageia KDE, vous êtes prêts à travailler dans le système. Il est judicieux de commencer à établir la connexion réseau. Utiliser l'outil de connexion réseau, pour cela :
Code BASH :
drakconnect
Vous utilisez la version texte de l'outil de connexion réseau dans une fenêtre de console - utilisez les flèches, tabulation et Entrée pour choisir et valider les options.
Après l'établissement de la connexion réseau et Internet, vous devriez configurer les dépôts de logiciels comme après une installation normale :
Code BASH :
urpmi.addmedia --distrib --mirrorlist
Configuration de la base URPMI, mode console
Vous pouvez maintenant installer et supprimer les logiciels à votre convenance.
Vous pouvez par exemple supprimer les packs de langue étrangères.
(Avec la ligne de commande suivante il reste juste le français)
Code BASH :
urpme -a locales-aa locales-af locales-ak locales-am locales-anp locales-ar locales-as locales-ast locales-ayc locales-az locales-be locales-bem locales-ber locales-bg locales-bho locales-bn locales-bo locales-br locales-brx locales-bs locales-ca locales-crh locales-cs locales-csb locales-cv locales-cy locales-da locales-de locales-doi locales-dv locales-dz locales-el locales-en locales-eo locales-et locales-es locales-eu locales-fa locales-ff locales-fi locales-fo locales-fur locales-fy locales-ga locales-gd locales-gl locales-gu locales-gv locales-ha locales-he locales-hi locales-hne locales-hr locales-hsb locales-ht locales-hu locales-hy locales-ia locales-id locales-ig locales-ik locales-it locales-is locales-iu locales-ja locales-ka locales-kk locales-kl locales-km locales-kn locales-ko locales-kok locales-ks locales-ku locales-kw locales-ky locales-lb locales-lg locales-li locales-lij locales-lo locales-lt locales-lv locales-mag locales-mai locales-mg locales-mhr locales-mi locales-mk locales-ml locales-mn locales-mni locales-mr locales-ms locales-mt locales-my locales-nds locales-ne locales-nhn locales-niu locales-nl locales-no locales-nr locales-nso locales-oc locales-or locales-os locales-pa locales-pap locales-pl locales-ps locales-pt locales-quz locales-ro locales-ru locales-rw locales-sa locales-sat locales-sc locales-sd locales-se locales-shs locales-si locales-sk locales-sl locales-so locales-sq locales-sr locales-ss locales-st locales-sv locales-sw locales-szl locales-ta locales-te locales-tg locales-th locales-the locales-tk locales-tl locales-tn locales-tr locales-ts locales-tt locales-ug locales-uk locales-unm locales-ur locales-uz locales-ve locales-vi locales-wa locales-wae locales-wo locales-xh locales-yi locales-yo locales-yue locales-zh locales-zu
Quand vous avez terminer vos ajouts/suppressions de programmes vous pouvez mettre à jour le contenu du live-dvd
Code BASH :
urpmi --auto-update
Si vous souhaitez que votre image soit gravée sur un CD, vous devez limiter sa taille en-dessous de 700 Mo.
Retour à la racine d'origine
Quand vous avez terminé le choix des logiciels, et avant de quitter l'environnement "chroot", vous devez arrêter la connexion réseau. Puis, de retour dans l'environnement de base, vous devez démonter les liens et redémarrer le réseau.
Code BASH :
systemctl stop network.service exit umount ./dev umount ./proc umount ./sys systemctl start network.service
Postproduction et nettoyage
Certains fichiers doivent être supprimés du nouveau système.
Dans le cas d'une configuration réseau en wifi, dans le répertoire squashfs-root, supprimer tous les fichiers dans le répertoire etc/sysconfig/network-scripts/wireless.d
Code BASH :
rm -f etc/sysconfig/network-scripts/wireless.d/*
Ensuite, supprimer les fichiers suivants du répertoire squashfs-root :
Code BASH :
rm -f etc/sysconfig/network-scripts/ifcfg-wlan0 rm -f root/bash_history rm -f var/run/dhclient-wlan0.pid rm -f var/lock/subsys/shorewall rm -f var/lib/rpm/installed-through-deps.list.old rm -f var/lib/dhcp/dhclient-wlan0.leases rm -f var/lib/shorewall/firewall
Maintenant nous allons copier les fichiers d'origine que nous avions sauvegardés et remplacer ceux qui ont été modifiés dans squashfs-root/:
Code BASH :
cp -f -r ../file_save/shorewall var/lib/ cp -f ../file_save/etc/hosts etc/hosts cp -f ../file_save/etc/modprobe.conf etc/modprobe.conf cp -f ../file_save/etc/modprobe.preload etc/modprobe.preload cp -f ../file_save/etc/wpa_supplicant.conf etc/wpa_supplicant.conf cp -f ../file_save/etc/shorewall/interfaces etc/shorewall/interfaces cp -f ../file_save/etc/sysconfig/network etc/sysconfig/network
Création de la nouvelle image
A la fin, on compacte le nouveau système dans un fichier SquashFS, ce qui peut prendre du temps. Assurez-vous d'être dans le bon répertoire.
Code BASH :
mksquashfs * distrib-lzma.sqfs -comp xz -noappend -no-progress -info -b 1048576
Maintenant, retournez à isomaster, qui est encore ouvert. Dans la partie inférieure, supprimer l'ancien fichier distrib-lzma.sqfs en cliquant dessus et sur „Supprimer“ dans le menu. Dans la partie supérieure, naviguez vers /isowork/squashfs-root et selectionnez le nouveau distrib-lzma.sqfs et cliquez sur „Ajouter“.
Quand c'est fait, faites "Fichier-> Enregistrer sous". Choisissez un endroit pour stocker la nouvelle image et donnez lui un nom significatif. Cliquez sur "OK" et voilà !
Alternative
On compresse le contenu du dossier pour obtenir la nouvelle image ISO
Code BASH :
xorriso -as mkisofs -iso-level 3 \ -full-iso9660-filenames\ -volid "Mageia-5-KDE4-LiveDVD" \ -appid "Mageia Linux CD modified" \ -publisher "Magicien" \ -preparer "prepared by Ache and adapted for mageia by Fred6681" \ -eltorito-boot isolinux/isolinux.bin \ -eltorito-catalog isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -isohybrid-mbr "../Mageia-5-LiveDVD-KDE4-x86_64-DVD.iso" \ -eltorito-alt-boot \ -no-emul-boot \ -isohybrid-gpt-basdat \ -output "../Mageia-5-LiveDVD-KDE4-x86_64-DVD-MODIFIED.iso" "../Image_ISO"
Il reste encore à changer le propriétaire de l'image, puisque pour l'instant, c'est l'utilisateur "root". Changez avec :
Code BASH :
chown user:user nom.iso
où user:user est votre nom de login et votre groupe et nom.iso est le nom de l'image ISO.
Si vous voulez utiliser votre image ISO sur un clé USB, vous devez d'abord la rendre hybride.
En tant qu'utilisateur, placez-vous dans le répertoire où se trouve l'image et tapez la commande :
(cette commande est inutile si vous avez utilisez la méthode avec xorriso)
Code BASH :
isohybrid nom.iso
Maintenant, vous pouvez griller un CD, un DVD ou la transférer sur une clé USB. Vous pouvez vous référer à cette page par exemple pour le faire.
Maintenant, vous êtes arrivés à l'étape la plus importante : testez et profitez-en !