HOWTO Construire son LiveCD

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Sommaire

[modifier] Introduction

Cet article vous exposera une méthode pour construire votre propre LiveCD de Gentoo en utilisant catalyst.
Catalyst est un outil qui vous permettra de maintenir facilement un ensemble de profiles pour vos différents stages ou de vos LiveCDs.

Ce HOWTO vous proposera donc des étapes et des astuces qui vous permettrons de construire votre propre version de LiveCD pour Gentoo Linux. Nous allons, pour l'exemple, construire un LiveCD avec l'installation de :


[modifier] Ce dont vous avez besoin

  1. Un système fonctionnant déjà sous Gentoo Linux.
  2. L'utilitaire Catalyst.
  3. Des connaissances de base.
  4. Du temps
  5. Cet article


[modifier] Première étape

Si vous n'avez toujours pas installé catalyst c'est le moment de le faire :

Code : Installation de catalyst
emerge catalyst

[modifier] Deuxième étape

De quoi peut-on ensuite avoir besoin pour construire un LiveCD avec catalyst ? Vous aurez besoin sans doute de quelques exemples de fichiers specs de spécifications pour la construction de votre LiveCD. Par exemple, ceux par défaut qui sont utilisés sur les LiveCDs de Gentoo. Vous pourrez les trouver sur les pages de Gentoo. On en trouvera notamment dans l'annonce de la sortie de Gentoo Linux 2004. Vous pouvez les télécharger directement en suivant les liens suivants :

  1. LiveCD stage1 Specfile Template
  2. LiveCD stage2 Specfile Template


[modifier] Utiliser nos fichiers d'exemple de spécifications

Nous allons jeter tout de suite un coup d'oeil à l'un de ces modèles de fichiers :

Fichier : livecd_gentoo_wiki_howto-stage1.spec
## livecd-stage1 template for Gentoo Linux release bootable LiveCDs
## John Davis 
## Modified by: Stephan Hermann <sh@sourcecode.de>
subarch: x86
version_stamp: 2004.2
target: livecd-stage1
rel_type: default
profile: default-x86-2004.2
snapshot: 2004.2
source_subpath: stage3-x86-2004.2
livecd/use:
        -X
        gtk
        -svga
        ipv6
        socks5
        livecd
        fbcon
        ssl

livecd/packages:
        baselayout
        livecd-tools
        genkernel
        ucl
        kudzu-knoppix
        module-init-tools
        hotplug
        irssi
        aumix
        metalog
        pciutils
        parted
        mt-st
        links
        star
        strace
        raidtools
        nfs-utils
        jfsutils
        usbutils
        speedtouch
        xfsprogs
        xfsdump
        e2fsprogs
        reiserfsprogs
        hdparm
        nano
        less
        openssh
        dhcpcd
        mingetty
        pwgen
        popt
        dialog
        rp-pppoe
        gpm
        screen
        mirrorselect
        penggy
        iputils
        hwdata-knoppix
        hwsetup
        bootsplash
        device-mapper
        lvm2
        evms
        vim
        gpart
        pwgen
        pptpclient
        mdadm
        tcptraceroute
        netcat
        ethtool
        wireless-tools
        xorg-x11
        xfce4
        mozilla-firefox
        mozilla-thunderbird
        tcpdump
        nmap
        libpcap
        sniffit


Ceci est le modèle de spécification du stage1 officiel pour Gentoo 2004.2. Nous verrons plus tard ce qu'il en est du stage2.
Sauvons donc notre fichier comme par exemple livecd_gentoo_wiki_howto-stage1.spec pour pouvoir le manipuler et travailler dessus.

[modifier] Comment marchent les entrées de ce fichier de spécifications

Dans notre exemple, vous trouverez des entrées comme :

profile: default-x86-2004.2

ou encore :

source_subpath: stage3-x86-2004.2


Ces entrées pointent vers des fichiers spéciaux qu'il va nous falloir créer.

[modifier] profile: default-x86-2004.2

Pour créer un tel fichier, nous allons devoir suivre les étapes suivantes :

Code : création de default-x86-2004.2
emerge --sync
cd /usr
tar --exclude=distfiles -cvjf portage-2004.2.tar.bz2 portage
mkdir -p /var/tmp/catalyst/{snapshots,builds,packages,tmp}
mv portage-2004.2.tar.bz2 /var/tmp/catalyst/snapshots

[modifier] source_subpath: stage3-x86-2004.2

Nous n'aurons pas à créer ce fichier. Il nous suffira d'aller le chercher directement sur l'un des miroirs Gentoo.


Vous trouverez par exemple ce fichier ici :


Maintenant que nous avons notre fichier, mettons-le où il faut :

Code : Copie du stage3
root@somewhere:~/> mv stage3-x86-2004.2.tar.bz2 /var/tmp/catalyst/builds

[modifier] Troisième étape

Bon, maintenant nous avons tout ce qui est nécessaire pour construire notre LiveCD de type stage1.

Nous allons donc créer pour la première fois un stage1 pour notre LiveCD.

[modifier] Construction du stage1

Nous utilisons pour cela catalyst :

Code : Création du stage1
catalyst -f livecd_gentoo_wiki_howto-stage1.spec

Il est temps d'aller prendre un café ou sortir un peu avec votre copain/copine en attendant que ça se finisse.

[modifier] Construction du stage2

Au jour d'aujourd'hui (28 septembre 2004), le modèle de spécifications pour le stage2 de LiveCD est la documentation la plus complète disponible sur la construction d'un stage2 avec catalyst.


C'est à cette étape que vous pourrez faire le plus de personnalisations.


Nous allons donc décrire quelques configurations qui peuvent se faire et qui pourront être intéressantes à l'heure de faire sa propre personnalisation. De plus, elles ne sont pas très bien documentées dans le fichier modèle en lui-même :

  • livecd/cdfstype:<looptype>
    • Type d'image loop dans lequel on mettra le système de fichier. Cela nécessite éventuellement de reconfigurer son noyau pour pouvoir en disposer correctement.
    1. zisofs
    2. normal
    3. noloop
    4. squashfs
    5. gcloop
  • livecd/archscript:<nomscript>
    • Script à utiliser, dépendant de votre architecture.
    1. x86-archscript.sh
    2. sparc64-archscript.sh
    3. sparc-archscript.sh
    4. ppc-archscript.sh
    5. hppa-archscript.sh
    6. alpha-archscript.sh
  • livecd/cdtar:<nom.tar.bz2>
    • Scripts à utiliser pour le démarrage du CD (Pour une architecture de type x86, il semble que seul les images isolinux fonctionnent)
    1. aboot-0.9-r1-cdtar.tar.bz2
    2. isolinux-2.08-cdtar.tar.bz2
    3. isolinux-2.08-memtest86+-cdtar.tar.bz2
    4. isolinux-2.08-memtest86-cdtar.tar.bz2
    5. palo-1.2_pre20030630-cdtar.tar.bz2
    6. silo-1.3.2-sparc64-cdtar.tar.bz2
    7. silo-1.4.4-sparc32-cdtar.tar.bz2
    8. yaboot-1.3.11-cdtar.tar.bz2
  • livecd/gk_mainargs:<options genkernel>
    • Options à passer à genkernel
    1. --makeopts=
    2. --menuconfig (?)
    3. etc.
  • livecd/type:<type>
    • Changer ##GREETING dans /usr/lib/catalyst/livecd/files/generic-motd.txt
    1. gentoo-release-universal
      • Welcome to the Gentoo Linux Universal Installation LiveCD!
    2. gentoo-release-minimal
      • Welcome to the Gentoo Linux Minimal Installation LiveCD!
    3. gentoo-gamecd
      • Welcome to the Gentoo Linux <GAMENAME> GameCD!

Le reste est relativement simple et bien expliqué dans le fichier de spécifications pour que vous vous en sortiez seul :)


Les options à configurer, au minimum, sont les suivantes :

  • subarch
  • version_stamp
  • target
  • rel_type
  • profile
  • snapshot
  • source_subpath
  • boot/kernel
  • boot/kernel/[boot/kernel:x]/sources
  • boot/kernel/[boot/kernel:x]/config
  • livecd/cdfstype
  • livecd/runscript
  • livecd/archscript


Une fois que nous en avons fini avec le fichier de configuration, nous pouvons le sauver comme livecd_gentoo_wiki_howto-stage2.spec et nous utilisons catalyst et essayons d'effectuer la manipulation suivante :

Code : création du stage2
catalyst -f livecd_gentoo_wiki_howto-stage2.spec

Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.

Voilà, il reste pas mal à faire sur ce document. Voir la page anglaise pour les futures mises à jour à faire si il y en a. Si vous pouvez aider l'auteur initial dans sa tache, il vous en sera très reconnaissant.

Autres langues