Page suivante Page précédente Table des matières

10. Modifier l'installateur RedHat

Si vous voulez modifier la procédure d'installation elle-même, son code source se trouve sur le CD-ROM RedHat ou sur le site miroir RedHat le plus proche dans le répertoire misc/src/install à partir du répertoire racine i386.

Si vous examinez la disquette d'amorçage RedHat, vous verrez qu'en plus du noyau vmlinuz, il y a un gros fichier initrd.img:

-rwxr-xr-x   1 root     root          559 May 11 15:48 boot.msg
-rwxr-xr-x   1 root     root          668 May 11 15:48 expert.msg
-rwxr-xr-x   1 root     root          986 May 11 15:48 general.msg
-rwxr-xr-x   1 root     root       968842 May 11 15:48 initrd.img
-rwxr-xr-x   1 root     root         1120 May 11 15:48 kickit.msg
-r-xr-xr-x   1 root     root         5352 May 11 15:48 ldlinux.sys
-rwxr-xr-x   1 root     root          875 May 11 15:48 param.msg
-rwxr-xr-x   1 root     root         1239 May 11 15:48 rescue.msg
-rwxr-xr-x   1 root     root          402 May 11 15:48 syslinux.cfg
-rwxr-xr-x   1 root     root       444602 May 11 15:48 vmlinuz

Vous l'aurez deviné, il s'agit d'un autre sytème de fichiers au format ext2 enregistré comme un fichier - mais avec un truc en plus. Il est compressé! Vous pouvez le décompresser et le monter:

# gzip -dc /mnt/boot/initrd.img >/tmp/initrd.ext2
# mkdir /mnt/initrd
# mount -o loop /tmp/initrd.ext2 /mnt/initrd

La partie probablement la plus importante de ce système de fichiers est sa collection de modules chargeables par le noyau qui sont sur la disquette d'amorçage. Si vous souhaitez intégrer la nouvelle version d'un gestionnaire, vous devrez soit remplacer vmlinuz par un nouveau noyau dans lequel ce gestionnaire sera lié statiquement, soit remplacer ce gestionnaire dans la collection de modules. Que dire d'autre sinon que vous pouvez supprimer certains modules pour faire de la place sur la disquette!

La collection de modules est le fichier modules/modules.cgz. Devinez-vous de quoi il s'agit? Et bien croyez le ou non, c'est une archive cpio compressée! Voici comment l'utiliser:

# gzip -dc /mnt/initrd/modules/modules.cgz >/tmp/modules.cpio
# cpio -itv <modules.cpio >modules.listing
# mkdir modules
# cpio -idumv <../modules.cpio

Je ne crois pas qu'il existe actuellement sous Linux une façon d'accéder de manière transparente aux systèmes de fichiers compressés (en tous cas avec les distributions les plus courantes). Faites le moi savoir si vous avez des informations là-dessus!

Si vous modifier quelque chose, rappelez vous:

  1. utilisez cpio pour recréer l'archive. La façon de procéder est laissée en exercice au lecteur ...
  2. utilisez gzip pour compresser cette archive;
  3. copiez la dans /mnt/initrd, ou dans tout autre endroit où vous avez placé l'archive initrd.img décompressée;
  4. démontez /mnt/initrd (ou comme vous l'avez appelé);
  5. compressez le nouvel initrd.img avec gzip;
  6. copiez l'archive sur la disquette d'amorçage: /mnt/boot/initrd.img dans notre exemple;
  7. démonter la disquette d'amorçage: /mnt/boot.

Vous pouvez maintenant créer de nouvelles disquettes d'amorçage avec:

# cat boot.img >/dev/fd0


Page suivante Page précédente Table des matières