Aller directement au contenu

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 :

    Enfin, générer un nouvel ISO avec les utilitaires genisoimage ou xorriso.

    Trouver la commande qui ira bien n'est pas simple selon le type d'ISO souhaité hybride ou pas. On peut tester le démarrage de l'ISO sans le fichier squashfs ni le répertoire pool afin de gagner du temps à chaque création.

  • @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

  • Système 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

  • Terminal : écrire dans un fichier.

    Codes et scripts
    1
    0 Votes
    1 Messages
    480 Vues
    Personne n'a répondu
  • Termux : un terminal Linux sur Android.

    Codes et scripts
    2
    0 Votes
    2 Messages
    288 Vues
    ?

    @papinou Merci Papinou de nous rappeler cette possibilité en effet. Je connais l'installation par le magasin d'applications F-Droid, mais je ne sais pas si on peut le trouver dans la boutique "officielle". Rudement pratiquement pour travailler en shell (adeptes des gestionnaires de bureau, vous pourrez passer votre chemin). C'est aussi l'occasion de découvrir l'arborescence des fichiers, qui est hélas non conforme aux standards des distributions GNU/Linux classiques... Merci le robot vert !

  • Mémo des commandes Linux.

    Codes et scripts
    2
    0 Votes
    2 Messages
    918 Vues
    ?

    bonjour un mémo beaucoup plus léger qu'on vient de me partager https://cdn.hostinger.com/tutorials/pdf/Linux-Commands-Cheatsheet-FR.pdf ... il trouvera sa clientèle 😉

  • Antora versus Wiki.

    Codes et scripts
    2
    1 Votes
    2 Messages
    202 Vues
    Y

    @papinou Très intéressant, merci !

  • Le script d'install du sdk du rpi pico commenté

    Codes et scripts
    5
    0 Votes
    5 Messages
    397 Vues
    ?

    @yannick85 Super boulot, très utile : merci !

  • 0 Votes
    8 Messages
    683 Vues
    ?

    https://blog.otso.fr/2015-08-28-comment-jai-exporte-mon-site-wordpress-sous-jekyll décrit comment s'en sortir manuellement quand les plugins n'y arrivent pas.

  • Programmer en RUST

    Codes et scripts
    3
    0 Votes
    3 Messages
    409 Vues
    ?

    @livrecinq Apple et m$ s'y mettent :

    https://emploi.developpez.com/actu/297780/Apple-recherche-des-ingenieurs-logiciels-afin-de-convertir-une-base-de-code-etablie-en-C-vers-Rust/

    https://thenewstack.io/microsoft-rust-is-the-industrys-best-chance-at-safe-systems-programming/

  • La commande "history"

    Codes et scripts
    7
    1 Votes
    7 Messages
    1k Vues
    ?

    Si vous voulez conserver votre historique dans un fichier texte sur votre Bureau, dans votre terminal tapez successivement :

    cd Bureau history > mon_historique.txt