Personnaliser l'ISO d'une distribution avec ses programmes préférés

Déplacé Codes et scripts
  • @olivier a dit dans Personnaliser l'ISO d'une distribution avec ses programmes préférés :

    Une méthode simple pour personnaliser un ISO, par exemple ajouter des programmes, un autre environnement de bureau, des papiers peints, etc., consiste à modifier ce fichier. Pour ce faire il faut le décompresser (unsquashfs), faire un chroot dessus (on bascule temporairement sur ce nouveau système pour y mener des actions), apporter les changements, et recompresser le tout pour obtenir notre nouveau système de fichiers (mksquashfs).

    hamOS est une distribution Linux spécialisée pour les radioamateurs. Elle est basée sur Debian 10 et utilise l'environnement de bureau Xfce. Dans l'exemple suivant nous allons, en utilisant la méthode précédente, remplacer dans l'ISO l'environnement Xfce par GNOME.

    Commencez par vous procurer l'ISO en le téléchargeant à l'adresse http://hamos.fr/hamos3-1.iso (user:hamos password:live). Une fois l'ISO sur votre disque dur alors via l'explorateur de fichiers monter le en faisant entrée sur l'icone.
    montage-iso.png
    Le contenu est alors accessible en lecture seule dans le dossier /media/olivier/hamos (remplacer olivier par votre nom d'utilisateur).

    Ouvrir le terminal et copier tout l'ISO (fichiers cachés inclus) dans un nouveau dossier de votre disque dur pour permettre d'y faire les changements. Le nouveau dossier se nommera new-image.

    $ cp -rvT /media/olivier/hamos new-image
    

    Pour la suite des opérations nous aurons besoin de 2 paquets supplémentaires, squashfs-tools et genisoimage. Les installer avec la commande suivante.

    $ sudo apt-get -y install squashfs-tools genisoimage
    

    Extraire le système de fichiers contenu dans l'ISO auquel nous allons apporter des changements. La commande unsquashfs décompresse tous les fichiers dans un nouveau dossier nommé par défaut squashfs-root.

    $ sudo unsquashfs new-image/live/filesystem.squashfs
    

    Pour permettre la résolution DNS dans le chroot et donc garantir la connexion aux dépôts logiciels, on recopie le fichier resolv.conf.

    $ sudo cp /etc/resolv.conf squashfs-root/etc/
    

    Basculer dans le système de fichiers à modifier et extrait sous le dossier squashfs-root.

    $ sudo chroot squashfs-root/
    $ mount -t proc none /proc
    $ mount -t sysfs none /sys
    $ mount -t devpts none /dev/pts
    

    Une fois à l'intérieur (l'invite du terminal change et vous devenez super-utilisateur) faire toutes les changements souhaités. On va utiliser tasksel (cocher les lignes correspondantes avec la barre d'espace) pour installer tous les paquets necéssaires au bureau GNOME.

    $ apt-get update
    $ apt-get -y purge xfce4*
    $ tasksel
    

    tasksel.png

    Sélectionner le gestionnaire récent de session gdm3.
    gdm3.png

    Nettoyer et quitter le chroot.

    $ apt-get -y autoremove
    $ apt-get clean
    $ umount /dev/pts
    $ umount /sys
    $ umount -lf /proc
    $ exit
    

    Reconstruire le nouveau système de fichiers.

    $ sudo rm new-image/live/filesystem.squashfs
    $ sudo mksquashfs squashfs-root/ new-image/live/filesystem.squashfs
    

    Créer le nouvel ISO.

    $ sudo mkisofs -r -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o hamos-remix.iso new-image/
    

    Enfin, tester cet ISO dans une machine virtuelle à l'aide de VirtualBox, gnome-boxes, ou avec la commande suivante.

    $ qemu-system-x86_64 -enable-kvm -cdrom hamos-remix.iso -m 2048
    

    hamos-avec-gnome-shell.png

    Il se peut que certaines personnalisations effectuées sous Xfce par l'auteur de hamOS n'apparaissent pas sous GNOME.

  • Très bel article super fouillé : merci O. !!!
    Entre Debian et Ubuntu, il existe toutefois quelques différences : le système de fichiers SQUASHFS est utilisé uniquement par le système Ubuntu (live). Les fichiers de configuration de construction de l'image divergent un peu aussi, même si l'idée est la même : "preseed" centralise beaucoup de paramètres, alors que les choses sont un peu plus éparpillées dans Debian, avec une souplesse supplémentaire dans la personnalisation pour cette dernière, qui va bien au-delà de la seule sélection des paquets présents dans les dépôts. Pour ces raisons, les documentations pour la construction des systèmes "live" ne sont plus tout à fait interchangeables, même si Debian et Ubuntu ne nourrissent mutuellement l'une de l'autre : à chaque "bidouilleur" de veiller à bien faire le tri dans ses lectures.

  • C'est exact ! Le contenu des ISO diverge entre les distributions et même entre les versions des distributions.

  • @olivier
    L'adresse http://hamos.fr ne fonctionne pas, pourriez-vous être en mesure de m'envoyer l'ISO s'il vous plaît?

  • L'ISO est disponible sur SourceForge.

  • @olivier text alternatif

    Il porte le même nom mais est un système d'exploitation différent. Pourriez-vous s'il vous plaît me l'envoyer de quelque manière que ce soit?

  • Je ne l'ai plus sur mon disque.

  • @m4d Tu peux faire autrement. Installer une Debian puis les paquets logiciels cités à l'adresse https://www.debian.org/blends/hamradio/get/metapackages.

  • J'ai créé un ISO pour radioamateur à partir d'une image Debian 11 (64-bit, LXQt, non-free firmware) avec tous les logiciels cités précédemment.
    transmission-web-interface.png

    L'ISO est disponible à partir du site linuxtracker à l'adresse https://linuxtracker.org/download.php?id=6f11caf1a75137ba6774e1d07d0612e96365745f&f=Debian+Live+11+amd64+LXQt+Hamradio+Pure+Blend.torrent&key=0

  • Le résultat :
    qemu-hamradio.png

  • MenfiM Menfi a déplacé ce sujet de Divers sur
  • @olivier Merci beaucoup Olivier vous avez été vraiment gentil et serviable. Je télécharge votre iso immédiatement.

Sujets suggérés