Tchesmeli serge a écrit :


> pour faire l'image:
> mkinitrd version_noyau chemin_complet_du_fichier_initrd
> Pour la charger:
> ajouter un ligne dans lilo.conf, dans la rubrique qui concerne le noyau
> impliqué du style
> initrd = chemin_complet_du_fichier_initrd
> 
> Refaire un lilo (si je me trompe pas, je suis sous la slack et j'ai pas
> installé les utilitaires d'initrd).
> 
> En fait initrd ne sert pas qu'au périphérique SCSI (même si c'est vrais
> c'est l'une de ces principales utilité).
> J'explique le role d'initrd:
> 
> Sous linux on peut quasiment tout mettre en module , mais le probléme des
> modules est que l'on peut les charger QU'APRES avoir monter le systême
> (partiton root, detecter tout les disques, etc...), le probléme est que si
> on passe par exemple en module le support ext2 (le filesystem du linux) les
> support scsi, ide , etc... on nepeut plus demarrer la systême, car comme
> j'ai dis précédément il faut avoir charger tout le systéme pour charger les
> modules, hors l'ext2 par exemple est necessaire pour monter le systême...
> Donc on arrive au serpent qui se mord la queu :
> linux pour demarrer dois avoir ext2 -> ext2 en module DONC a besoin que le
> systême soit demarrer -> linux pour demarrer a besoin de ext2 -> etc etc...
> 
> La solution: initrd. Comment ca marche? simplement :) on créer en fait un
> fichier image comportant TOUS les modules déclarer dans /etc/modules.conf
> (ou conf.modules) que l'on fait charger AVANT le systéme (avant le vmlinuz
> en fait) pour avoir ces modules en mémoire. Donc on charge l'initrd en
> mémoire donc on a lmes modules, et lorsquele systéme demande les modules il
> les a deja en mémoire.
> Apres on nettoie tout ca (on aplus besoin des modules en mémoire vu que le
> systéme est demarrer donc il peut acceder aux modules) en liberant la
> mémoire en effacant l'initrd de celle ci.
> 
> C'est pour ca que desfois on voir lors du démarrage "cannot load xxx
> module" et apres le demarrage du systême on regarde: HO le module existe...
> Voila :)
> 

OK, merci, j'ai compris (enfin, je pense...) cette fois-ci. Grâce à tes
explications j'ai pu créer l'image initrd et l'installer. Mais là où le
bas blesse encore c'est au niveau de GRUB. 

Le paramètre initrd=chemin_absolu_de_l'image ne fonctionne pas (pas de
problèmes il n'y a juste rien de nouveau qui se passe) et la doc de GRUB
précise que l'option initrd est désormais supportée mais n'a jamais été
testée. Ben avec ça on va pas loin, surtout que la syntaxe à utiliser
n'est pas précisée (où alors je ne l'ai pas vue...). 

Je pense que je vais déjà faire un test avec Lilo et si c'est OK
conserver LILO en attendant d'éclaircir la question GRUB + initrd.

Merci pour tes excellentes explications.

Francis

Répondre à