Actions sur le document
Création d'un CD personnalisé Fedora Core 4
Il est parfois utile de pourvoir reproduire l’installation d’une distribution sur différentes machines. Si les machines sont identiques, il est toujours possible de cloner les parititions (avec dd par exemple). Dans le cas contraire, le plus rationnel est d’utiliser les outils fournis par RedHat pour l’installation de la Fedora.
La création d’un CD personnalisé peut se décomposer en trois étapes principales :
- installation d’une machine de référence
-
création d’une arborescence standard et génération des fichiers de
configuration (sur la même machine ou une machine disposant d’une
distribution identique).
- génération de l’image ISO et gravure du CD personnalisé
1 - Installation de la machine de référence
C’est
la partie la plus évidente, il suffit de dérouler l’installation sur
une machine, en prenant garde à ne pas sélectionner trop de paquetages
pour pouvoir faire tenir la distribution personnalisée sur un CD. Au délà de 2 Go d’applications installées, on est à peut près sûr de ne pas pouvoir faire tenir le tout sur un seul CD.
Lors de l’installation de la Fedora, deux fichiers intéressants sont générés :
- install.log qui contient la liste des paquetages installés et des paquetages non-installés
-
anaconda-ks.cfg qui est un fichier d’autoconfiguration de
l’installation, reprenant les paramètres choisis par l’utilisateur.
C’est un fichier texte que l’on peut éditer.
Ces deux fichiers se retrouvent dans le répertoire /root après l’installation.
2 - Création de l’arborescence standard
La
première étape consiste à copier l’intégralité du contenu des disques
utilisés pour votre installation (généralement, les trois premiers
disques suffisent).
Il vous faut un système de fichiers pouvant
contenir la totalités des disques (environ 2 Go) plus, en théorie, les
fichiers nécessaires à votre installation personnalisée et 700 Mo
supplémentaires pour la création de l’image du CD.
En fait, nous n’allons pas copier les fichiers nécessaires à
l’installation, mais simplement créer des liens physiques. Pour cela,
nous avons besoin d’un système de fichiers type ext2/3, xfs, jfs ...
Les liens physiques ne fonctionnent pas avec le système FAT (il faut alors faire une copie des fichiers ).
L’espace total nécessaire est donc de 2,7 Go environ (moins si on utilise un autre système de fichiers pour créer l’image du CD).
On
suppose dans la suite qu’un système de fichiers de taille suffisante a
été créé sous /mnt/iso, avec l’arborescence suivante :
/mnt/iso/
/mnt/iso/CD1
/mnt/iso/CD2
/mnt/iso/CD3
/mnt/iso/CD4
/mnt/iso/CD_Fedora
3 - Création des liens dans le répertoire ONECD
Le répertoire CD_Fedora contiendra les liens vers les fichiers nécessaires à l’élaboration de la distribution "maison".
On commence par copier l’intégralité de l’arborescence du CD1 dans le répertoire ONECD :
cd /mnt/iso
cp -al CD1 CD_Fedora
L’option
-a permet de copier l’intégralité de l’arborescence en conservant les
droits sur les fichiers, l’option -l de créer des liens physiques au
lieu de copier les fichiers (gain de place et de temps lors de la
"copie").
L’étape suivante consiste à effacer les fichiers rpms présents dans le sous-répertoire Fedora/RPMS (rm /mnt/iso/ONECD/Fedora/RPMS/* ), avant de n’y recopier que les fichiers utiles à notre installation personnalisée.
for rpmfile in $(cat /root/install.log|sed -e '/Installation de /s///g' | sed -e 's/$/.rpm/'); do cp -al /mnt/iso/CD1/Fedora/RPMS/$rpmfile /mnt/iso/CD_Fedora/Fedora/RPMS/ ; done
Recommencer
l’opération pour le CD2, le CD3 et le CD4. Vous pouvez également
générer une liste des rpms nécessaires avec la commande rpm -qa sur
votre machine de référence.
4 - Mise à jour de la liste des fichiers
Sur le CD de la Fedora
se trouve un fichier hdlist, contenant la liste des fichiers présents.
Il peut être généré par l’utilitaire genhdlist, présent dans le package
anaconda-runtime.
Il faut donc installer le package anaconda-runtime et ses dépendances.
Ensuite
pour la génération proprement dite, il faut indiquer le chemin complet
pour genhdlist, suivi du répertoire où sont stockés les fichiers de
votre distribution personnalisée.
/usr/lib/anaconda-runtime/genhdlist --productpath Fedora /mnt/iso/CD_Fedora
5 - Modification du boot et fichier Kickstart
A l’installation de votre Fedora
de référence, un fichier anaconda-ks.cfg a été généré. Il contient tous
les paramètres choisis lors de l’installation et permet de "rejouer"
celle-ci sur une autre machine. Par défaut toutefois, et pour éviter
d’écraser les données, les lignes concernant le partitionnement sont
commentées.
Il est également souhaitable de commenter les lignes
concernant la détection de la carte vidéo et plus généralement tout ce
que vous souhaitez pouvoir modifier d’une machine à l’autre.
Il faut ensuite copier ce fichier à la racine de votre CD, en le renommant ks.cfg par exemple.
cp /root/anaconda-ks.cfg /mnt/iso/CD_Fedora/ks.cfg
Pour prendre en compte ce nouveau fichier, et modifier la page de démarrage du CD, il faut ensuite s’interesser aux fichiers du répertoire isolinux du CD.
Fichier isolinux.cfg d’origine
default linux
prompt 1
timeout 600
../..
Fichier isolinux.cfg modifié
default kwa29 prompt 1 timeout 600 display custom.msg F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg F7 custom.msg label linux kernel vmlinuz append initrd=initrd.img ramdisk_size=8192 label text kernel vmlinuz append initrd=initrd.img text ramdisk_size=8192 label expert kernel vmlinuz append expert initrd=initrd.img ramdisk_size=8192 label sofibra kernel vmlinuz append initrd=initrd.img ramdisk_size=8192 ks=cdrom:/ks.cfg label lowres kernel vmlinuz append initrd=initrd.img lowres ramdisk_size=8192 label local localboot 1 label memtest86 kernel memtest append -
La ligne display boot.msg indique le message affiché au démarrage, par défaut, c’est celui contenu dans le fichier boot.msg . Nous allons créer pour le remplacer un fichier custom.msg, qui contiendra notre message d’accueil personnalisé (fichier texte, éventuellement agrémenté de codes de contrôle de terminal). La ligne display devient donc display custom.msg
On va également modifier la ligne F7 snake.msg et la remplacer par F7 custom.msg pour pouvoir accéder à notre message d’accueil avec les touches de fonction.
Dernière modification, comme nous utilisons le fichier kickstart situé sur le CDROM, il faut modifier la ligne
append ks initrd=initrd.img ramdisk_size=8192
pour la remplacer par
append ks=cdrom:/ks.cfg initrd=initrd.img ramdisk_size=8192
6 - Création de l’image ISO
Dernière opération avant de créer l’iso, il faut générer un fichier caché .discinfo à la racine du CD pour que celui-ci soit reconnu par anaconda, l’installateur de la Fedora
.
Pour cela, se positionner dans /mnt/iso/ONECD et lancer la commande
/usr/lib/anaconda-runtime/makestamp.py > /mnt/iso/CD_Fedora/.discinfo
et répondre aux questions :
release Name = Fedora
Core 4
arch = i386
comps file = Fedora/base
rpms files = Fedora/RPMS
images = Fedora/pixmaps
Ceci fait, il ne vous reste plus qu’à générer l’image iso avec mkisofs :
mkisofs -r -T -J -V "Ma distribution a moi" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-info-table -boot-load-size 4 -o /mnt/iso/custom.iso /mnt/iso/CD_Fedora
r -T -J : extensions Rockridge, Joliet, trans.tbl
-V : nom du volume
-b -c : image de boot et catalogue
-no-emul-boot ... : options pour un boot sans émulation de lecteur de disquette
-o : fichier iso en sortie
/mnt/iso/ONECD : répertoire contenant les fichiers du CDpersonnalisé.

