Outils personnels
Vous êtes ici : Accueil Blog Création d'un CD personnalisé Fedora Core 4
Navigation
 
Actions sur le document

Création d'un CD personnalisé Fedora Core 4

Filed Under:

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 CD

personnalisé.