Un live CD personnalisé

Date: 20/07/2009 | Catégories: Open-source,Systeme | Tags:

Petit procédure en forme de "pense bête" pour personnaliser un live CD Ubuntu (extrait de la source: Ubuntu-fr).

  1. On commence par insérer le live CD d'origine dans le lecteur de CDROM (point de montage /cdrom)
  2. On créer un arborescence locale (sur un disque dur) qui servira à la création de notre live CD (attention, il faut disposer d'un espace disponible d'environ 3 Giga):

    cd ~
    mkdir livecd
    cd livecd
    mkdir iso squashfs

  3. On copie le contenu du live CD d'origine dans le répertoire iso:

    sudo cp -av /cdrom/. iso

  4. Puis on démonte le CDROM:

    sudo umount /cdrom

  5. On copie le système de fichier de notre live CD d'origine (le squashfs):

    sudo mount -t squashfs -o loop iso/casper/filesystem.squashfs /cdrom
    sudo cp -av /cdrom/. squashfs
    sudo umount /cdrom

  6. A partir de cette étape, on peut faire un chroot dans notre futur Live CD (vous serez alors connecté en root):

    sudo mount --bind /proc squashfs/proc
    sudo mount --bind /sys squashfs/sys
    sudo cp /etc/resolv.conf squashfs/etc/resolv.conf
    sudo cp /etc/hosts squashfs/etc/hosts
    sudo cp /etc/apt/sources.list squashfs/etc/apt/sources.list
    sudo chroot squashfs

  7. Avant de poursuivre, il faut vérifier que vous êtes bien connecté sur votre live CD:

    root@linux-demo-laptop:/#

  8. On commence par mettre à jour notre Live CD (vous avez le temps d'aller prendre un café... voir deux):

    aptitude update
    aptitude safe-upgrade

  9. Dans cette étape, vous pouvez supprimer ou ajouter les paquets en fonction des besoins de votre Live CD, ou bien modifier des fichiers de configuration:

    aptitude remove nomdupaquet
    aptitude install nomdupaquet
    aptitude install ubuntu-desktop
    aptitude autoclean

  10. On sort de notre LiveCD (du chroot):

    umount /sys
    umount /proc
    rm /etc/resolv.conf
    rm /etc/hosts
    exit

  11. Pour modifier l'environnement utilisateur par défaut, il faut copier les fichiers du répertoire /home de référence vers squashfs/etc/skel. Par exemple si vous souhaitez que le compte utilisateur de votre LiveCD soit une copie de votre compte:

    sudo cp -r ~/. squashfs/etc/skel
    sudo chown -R root:root squashfs/etc/skel

  12. Il ne reste plus qu'à construire votre Live CD:

    sudo apt-get install squashfs-tools

    sudo rm iso/casper/filesystem.squashfs
    sudo chmod a+w iso/casper/filesystem.manifest
    sudo chroot squashfs dpkg-query -W --showformat='${Package} ${Version}\n' > iso/casper/filesystem.manifest
    sudo chmod go-w iso/casper/filesystem.manifest
    sudo chmod a+w iso/casper/filesystem.manifest-desktop
    sudo chroot squashfs dpkg-query -W --showformat='${Package} ${Version}\n' > iso/casper/filesystem.manifest-desktop
    sudo chmod go-w iso/casper/filesystem.manifest-desktop
    cd squashfs
    sudo mksquashfs . ../iso/casper/filesystem.squashfs -info
    cd ..
    sudo mkisofs -r -V "Live CD" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o live-cd-i386.iso iso

  13. L'étape 12 a permis la génération de l'image ISO live-cd-i386.iso dans le répertoire courant.

Partager ce billet