Alléger son initrd
29 Jul. 2006
- Auteur : lenounoursmignon
- Responsable : TrustRobot
- Score ( voter ) :



- Connexes : Même auteur | Même responsable | Historique
1. Décompression :
-
Il faut d'abord localiser le fichier "initrd" ( situé à priori dans /boot/ ) utilisé pour votre noyau :
#Pour connaître le noyau utilisé uname -r #Pour trouver les images initrd $ ls /boot/*initrd*
-
Déterminez le format de l'image grâce à la commande file. Ce qui peut donner par exemple :
$ file /boot/initrd.img-2.6.12-1-k7 /boot/initrd.img-2.6.12-1-k7: Linux Compressed ROM File System data, little endian size 1712128 version #2 sorted_dirs CRC 0x7ac34bb3, edition 0, 1117 blocks, 146 filesou encore :$ file /boot/initrd-2.6.8.1-12mdk.img /boot/initrd-2.6.8.1-12mdk.img: gzip compressed data, from Unix, max compression
-
Décompressez l'image dans un répertoire temporaire. Pour le format GZIP (ou autre format de compression usuel), faites comme d'habitude, et pour le format CRAMFS, tapez :
$ fsck.cramfs initrd.img-2.6.12-1-k7 -x repertoire_temp
2. Modification :
-
Modifiez le fichier "loadmodules", qui correspond à la liste des moduleschargés au boot de la machine.. Par exemple :
modprobe -k capability modprobe -k vesafb > /dev/null 2>&1 modprobe -k fbcon 2> /dev/null modprobe -k unix 2> /dev/null modprobe -k ata_piix modprobe -k sd_mod etc..
-
Si c'est nécessaire, modifiez aussi le fichier linuxrc.conf pour supprimer le support inutile de certains systèmes de fichier (ext2 dans mon cas).. exemple :
RESUME= DELAY=0 BUSYBOX= FSTYPES=ext2,ext3,reiserfs,iso9660,cramfs IDE_CORE=ide-core VERSION=0.1.82
-
Allégez l'image initrd en supprimant les modules qui viennent d'être supprimés a la liste. Ils se trouvent dans les sous-répertoires de repertoire_temp/lib/modules/`uname -r`/kernel/.. exemple :
$ rm lib/modules/2.6.12-1-k7/kernel/drivers/ide/pci/piix.ko
3. Re-construction :
-
Re-créez une image valide du fichier "initrd", à son format d'origine. C'est à dire qu'il faut recompresser repertoire_temp au format CRAMFS, GZIP ou autre. Ce qui pour moi, donne :
$ mkcramfs repertoire_temp/ /boot/initrd.img-2.6.12-1-k7-modif
- Mettez à jour votre bootloader ( lilo ou grub) pour qu'il utilise votre image modifiée à la place de celle d'origine.. Veuillez vous reporter au didactiel de lilo ou grub pour savoir comment faire.