Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
informatique:linux:initrd [2007/09/21 15:33] 127.0.0.1 édition externe |
informatique:linux:initrd [2018/09/06 19:10] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ==== Ajouter un modules au kernel ==== | + | ==== Ajouter des modules au kernel avec mkinitrd ==== |
Pour voir ce qui est inclu dans le initrd pour notre Kernel | Pour voir ce qui est inclu dans le initrd pour notre Kernel | ||
Ligne 19: | Ligne 19: | ||
Rebooter | Rebooter | ||
+ | |||
+ | Autre exemple : Pour charger un module au démarrage du système : | ||
+ | mkinitrd --preload=megaraid initrd-megaraid-$(uname -r).img $(uname -r) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Ajouter des modules au kernel manuellement ==== | ||
+ | |||
+ | === Description global de la procédure === | ||
+ | |||
+ | Pour résumer les actions suivantes sont à effecter: | ||
+ | - démanteler le fichier ''initrd'' | ||
+ | - ajouter le driver (fichier ''.ko'' ou ''.o'') | ||
+ | - Mettre à jour les informations hardware dans les fichiers ''module-info'' et ''pcitable'' | ||
+ | - Reconstruire l'initrd | ||
+ | |||
+ | === Procédure === | ||
+ | |||
+ | Récupérer le fichier initrd que l'on veux recupérer par dans le cd de linux dans ''./Image/pxeboot/initrd.img'' | ||
+ | |||
+ | Renommer et décomprésser l'archive initrd.img | ||
+ | mv initrd.img initrd.img.gz | ||
+ | gunzip initrd.img.gz | ||
+ | |||
+ | Monter le FS initrd.img | ||
+ | mkdir mount-initrd | ||
+ | mount -o loop initrd.img mount-initrd | ||
+ | |||
+ | Le fichier ''mount-initrd/modules/modules.cgz'' contient tous les modules, nous allons le copier en dehors du FS | ||
+ | cp mount-initrd/modules/modules.cgz . | ||
+ | |||
+ | Renommer et décomprésser l'archive modules.cgz | ||
+ | mv modules.cgz modules.gz | ||
+ | gunzip modules.gz | ||
+ | cpio -idv < modules | ||
+ | |||
+ | Copier les fichier ''.o'' ou ''.ko'' que l'on veut ajouter dans le repertoire décompressé | ||
+ | cp bnx2.o ./2.4.21-37.ELBOOT/i386/ | ||
+ | |||
+ | Ajouter les informations sur le matériel dans ''mount-initrd/modules/module-info'', par exemple pour une carte Broadcom NetXtreme II : | ||
+ | |||
+ | bnx2 | ||
+ | eth | ||
+ | "Broadcom NetXtreme II Gigabit Ethernet Driver" | ||
+ | |||
+ | Mettre à jour le fichier ''mount-initrd/modules/pcitable'' (info dispo par le contructeur ou par la commande : ''grep bnx2 /usr/share/hwdata/pcitable'') | ||
+ | |||
+ | 0x14e4 0x164a "bnx2" "Broadcom Corpoation|NetXtreme II BCM5706 Gigabit Ethernet" | ||
+ | 0x14e4 0x164c "bnx2" "Broadcom Corpoation|NetXtreme II BCM5708 Gigabit Ethernet" | ||
+ | 0x14e4 0x16aa "bnx2" "Broadcom Corpoation|NetXtreme II BCM5706S Gigabit Ethernet" | ||
+ | 0x14e4 0x16ac "bnx2" "Broadcom Corpoation|NetXtreme II BCM5708S Gigabit Ethernet" | ||
+ | |||
+ | |||
+ | Contruire une nouvelle archive ''modules.cgz'' | ||
+ | find ./2.4.21-37.ELBOOT |cpio -ocv > modules | ||
+ | gzip -9 modules | ||
+ | |||
+ | Copier ''modules.cgz'' dans le FS | ||
+ | mv modules.gz mount-initrd/modules/modules.cgz | ||
+ | |||
+ | Démonter le FS et recompresser l'archive initrd.img | ||
+ | umount mount-initrd | ||
+ | gzip -9 initrd.img | ||
+ | mv initrd.img.gz initrd.img | ||
+ | |||
+ | ===== Désactiver control Alt Suppr ===== | ||
+ | |||
+ | Editer inittab : | ||
+ | vim /etc/inittab | ||
+ | |||
+ | Mettre en commentaire : | ||
+ | #ca::ctrlaltdel:/sbin/shutdown -t3 -r now | ||
+ | |||
+ | Prise en compte de la modification : | ||
+ | telinit q | ||
+ |