Journal Debian(?) LiveCD/USB sur mesure

Posté par  .
Étiquettes : aucune
0
26
mai
2006
Un LiveCD de plus ? Non.
Il s'agit d'un outil qui permet de construire une LiveDistro à partir d'un système Debian installé (ou d'elle-même ; utile pour mettre à jour). D'une certaine manière, l'outil pourrait aussi servir pour faire un backup du système.

Ai-je réinventé la roue ? En tout cas, je n'ai rien trouvé qui me convenait. Il y avait bien gibraltar-bootcd[1] et Debian From Scratch[2], mais bof quoi.

L'outil tient en un unique script shell de 10 ko et construit une LiveDistro avec pour contenu :
- le bootloader avec ses fichiers de configuration
- le noyau
- le système sous la forme d'une archive squashfs avec quelques modifications apportées dans /etc
- un initrd qui se charge de préparer /, en utilisant unionfs/tmpfs pour permettre un accès en lecture/écriture.

Un des problèmes à résoudre pour créer un LiveCD est de s'adapter automatiquement au matériel. udev & cie mâchent une bonne partie du boulot, mais il reste encore 2 points que je n'ai peut-être pas résolus proprement.
- Le réseau : Dans /etc/network/interfaces, je n'ai gardé que la configuration de l'interface lo et j'ai ajouté un simple appel à dhclient au démarrage (/etc/rcS.d/S70livedist).
- Le server X : /etc/rcS.d/S70livedist contient également `dpkg-reconfigure -f noninteractive xserver-xorg; dexconf'.

Afin de ne pas gaspiller de place, et parce que certaines données n'ont rien à faire sur un LiveCD, la construction de l'archive exclut quelques fichiers/dossiers : une liste complète est affichée à ce moment-là, /home en fait partie.
Il n'est pas non plus très utile d'utiliser un compte autre que root donc :
- Suppression du mot de passe root.
- Ouverture automatique d'une session sous root (kdm uniquement)
- /root est conservé ce qui permet aussi de personnaliser l'environnement

Quelques dépendances à mentionner :
- initramfs-tools[3]
- syslinux
- squashfs-tools
- pilotes squashfs et unionfs
- recommande: mkisofs (pour un LiveCD), dhcp-client|dhcp3-client, kdm, memtest86+

L'outil est encore une version bêta :
- pas assez bavard : faut ajouter des messages d'erreurs
- quelques problèmes avec la config de kdm [4]
- je n'ai pas pu tester la création de LiveUSB : ma A7N8X-X refuse de booter sur une clé USB :(

Téléchargement : http://81.56.123.123/livedist/livedist.bz2
Pour réinstaller un système créé avec 'livedist' : http://81.56.123.123/livedist/ldrestore.bz2

Un exemple de LiveCD : http://81.56.123.123/livedist/livesid-060526.iso.torrent (289 Mo)
(liste des paquets installés : http://81.56.123.123/livedist/livesid-060526.dpkg-list.bz2 )

[1] http://packages.debian.org/unstable/admin/mkinitrd-cd
[2] http://people.debian.org/~jgoerzen/dfs/html/
[3] Question portabilité, ça reste donc très spécifique à Debian. Ca doit fonctionner sous Ubuntu.
[4] Si je ferme la session, la boîte de dialogue a toujours un champ mot de passe (malgré NoPassEnable=true) et refuse de se connecter sous un compte sans mot de passe. Si quelqu'un a une idée de ce qui ne va pas dans http://81.56.123.123/livedist/kdmrc.bz2 ...
  • # Génial

    Posté par  (site Web personnel) . Évalué à 5.

    C'est une super idée, genre pour ne pas avoir à se retaper la réinstalle de tous les paquets qu'on aime ni tout reconfigurer quand on réinstalle (c'est pas souvent sur debian mais bon), une sorte de sauvegarde à zéro ou restauration système.

    L'autre application intéressante c'est genre de concocter un système aux petits oignons pour le nouvel ordi de (papa|maman|soeur|amoureux-se|etc.) avec les drivers qui vont bien, bien configuré, avec l'environnement de bureau configuré et adapté à la machine avec les bons softs et tt, et en faire un CD installable comme ça :) Très pratique je trouve :)

    Merci en tt cas j'essaierais ça à l'occase :)

    « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

  • # linux live

    Posté par  . Évalué à 5.

    ton travail semble intéressant, mais par exemple qu'est-ce qu'il manquait selon toi dans par exemple linux-live ? http://www.linux-live.org/

    car j'ai fait un live-cd avec, cela tourne très bien.

    Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

    • [^] # Re: linux live

      Posté par  . Évalué à 4.

      Après un rapide coup d'oeil, je dirais :
      - Ca ne marche pas avec le noyau fourni par debian, pour un bête problème de modules.
      - Création de liveusb peu pratique (même si ça peu se corriger facilement) : tel quel, il faut commencer par créer le livecd.
      - Pas de support des lecteurs CD SCSI.
      - Une livedistro est censé tourner sur n'importe quoi sans avoir trop de choses à faire au démarrage : quid du serveur X (si je prend le xorg.conf d'une machine (nvidia) pour le mettre sur une autre (ati), ça ne marche pas) ? Je n'ai pas vu la moindre fonctionnalité permettant de traiter cette aspect de la construction d'un livecd.
      Alors s'il faut configurer certaines choses soi-même, j'ajouterais :
      - Nécessité d'installer un système préalablement. Contrairement à mon outil qui ne modifie pas le moindre fichier du système source.

      Mais j'admets que si j'avais connu ce projet, je m'en serais sans doute contenté, en y apportant quelques modifications. Maintenant, non.

      car j'ai fait un live-cd avec, cela tourne très bien.
      Quelle distribution ?
      • [^] # Re: linux live

        Posté par  (site Web personnel) . Évalué à 3.

        *je tente cet aprem d'en faire un avec ce script*

        - Ca ne marche pas avec le noyau fourni par debian, pour un bête problème de modules.

        faut juste pas ajouter unionsfs et squashfs ? quand tu le lances il te dis ou mettre les modules.

        - Création de liveusb peu pratique (même si ça peu se corriger facilement) : tel quel, il faut commencer par créer le livecd.

        oui... doit y'avoir un ch'ti truc a changer ;)

        - Pas de support des lecteurs CD SCSI.

        ca existe ca ?

        - Une livedistro est censé tourner sur n'importe quoi sans avoir trop de choses à faire au démarrage : quid du serveur X (si je prend le xorg.conf d'une machine (nvidia) pour le mettre sur une autre (ati), ça ne marche pas) ? Je n'ai pas vu la moindre fonctionnalité permettant de traiter cette aspect de la construction d'un livecd.

        Il utilise pas le xorg.conf fourni direct par xorg ? celui qui est automatiquement généré ?
        Je l'essaye et je regarde ce que ca donne.

        j'essayed e voir ca cet aprem.
        • [^] # Re: linux live

          Posté par  . Évalué à 4.

          désolé de faire la promotion d'un autre outil que le tien sur ton journal :)

          mais vu que tu sembles utiliser un système un peu similaire au sien, peut-être peux-tu t'en inspirer, ou aider l'auteur à améliorer le sien :) Pour information, c'est avec cela qu'il a fait le fameux Slax.

          Pour répondre aux questions : avant linux-live ne passait pas avec Debian car les modules étaient compressés, mais cela est corrigé maintenant, on peut choisir de compresser les modules ou pas selon la distribution utilisée. Ma distribution est Debian comme vous l'aurez maintenant deviné. C'est ici, mais je n'ai pas encore fait de mise à jour pour la nouvelle version qui a été bien améliorée : http://brume.info/
          Il y a même E17.
          (il faut vraiment que je charge une nouvelle version sur le serveur)

          Sinon pour le login automatique en mode graphique, et bien cela le fait chez moi aussi, pour un utilisateur que j'ai créé pour l'occasion. En fait il fait exactement la même chose que la version installée sur ma machine.

          "Ca ne marche pas avec le noyau fourni par debian" -> possible. On peut recompiler aussi son propre noyau. Il faut le support d'unionfs et cramfs dans le noyau je crois, mais des modules sont chargés également (je ne sais pas exactement comment cela fonctionne, en fait je n'ai pas cherché à savoir et j'ai utilisé le noyau fournit sur le site, c'était plus simple...). Et une fois installé sur disque, il suffit d'apt-get un noyau optimisé.

          "Création de liveusb peu pratique" -> possible aussi, je n'ai pas testé, mais il faudrait regarder sur le forum ce qu'ils en disent. Sur le site de slax, il y a une version pour usb : http://slax.linux-live.org/download.php

          "Pas de support des lecteurs CD SCSI." Ah bon ? Je n'ai jamais eu ce genre de chose. Il faudrait regarder aussi sur le forum : http://slax.linux-live.org/forum/viewtopic.php?t=7070&hi(...)

          "Une livedistro est censé tourner sur n'importe quoi sans avoir trop de choses à faire au démarrage : quid du serveur X (si je prend le xorg.conf d'une machine (nvidia) pour le mettre sur une autre (ati), ça ne marche pas" -> moi je l'ai mis en vesa par défaut, comme cela cela passe partout. Si c'est pour un live-cd, c'est supportable, et une fois installé, on peut changer facilement le module de la carte vidéo.
          Il y a une possibilité de faire une recherche de la carte avec un script de slax, nommé xconf, je ,n'ai pas encore tenté de le faire.


          En tout cas bonne continuation pour ton projet.

          Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

          • [^] # Re: linux live

            Posté par  . Évalué à 4.

            On peut recompiler aussi son propre noyau. Il faut le support d'unionfs et cramfs dans le noyau je crois, mais des modules sont chargés également (je ne sais pas exactement comment cela fonctionne, en fait je n'ai pas cherché à savoir et j'ai utilisé le noyau fournit sur le site, c'était plus simple...).
            En fait, le script suppose que les pilotes nécessaires pour lire un CD (ide-*, cdrom...) sont intégrés au noyau, ce qui n'est pas le cas sous Debian (qui laisse beaucoup de choses en modules). Donc oui, tel quel, faut soit recompiler son propre noyau soit utiliser celui fourni.

            A propos des lecteurs CD SCSI, je retire ce que j'ai dit. J'ai lu
            Data for LiveCD not found. Searching for livecd.sgn file, not found.
            You are maybe using an unsupported boot device
            (for example a CD-ROM connected to SCSI or PCMCIA interface)
            sans réfléchir. A condition que les pilotes sont chargés (intégrés au noyau), je ne vois pas de raison pour que ça ne marche pas.
  • # Morphix

    Posté par  (site Web personnel) . Évalué à 3.

    Le projet Morphix[1] propose des outils pour construire un LiveCD à partir d'une Debian.
    Un petit tuto sur comment les utiliser : http://doc.linucie.net/Qui/FaireSonLiveCDMorphix
    Pour avoir jouer avec ça il y a un moment, c'est putôt facile.
    Amis contributeurs, vous voici avertis.

    [1] http://www.morphix.org/

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.