Le Sun, 20 Aug 2000, Francis Allouchery a écrit :
> Tchesmeli serge a écrit :
> > .../..
> > probléme d'initrd a tout les coups encore.
> > Refait une image initrd, le systéme dois vouloir charger ce module alors
> > qu'il a pas finis de monter le kernel, donc ne peut acceder au modules, donc
> > normal qui le trouve pas.
> > Refait une image initrd pour pouvoir avoir les modules en mémoire avant de
> > monter le kernel  --
> 
> Bonjour,
> 
> Merci pour l'info, c'est d'ailleurs la seule réponse que j'ai eu pour le
> moment, sans doute parce que c'est la bonne solution...
> 
> J'ai commencé à potasser man initrd mais c'est plutôt flou... de plus je
> pensais que les images initrd était plutôt destiné aux périph scsi ?
> 
> Quelques renseignements complémentaires ou liens sur
> comment-c'est-y-kon-fait-une-image-initrd et
> comment-c'est-y-kon-la-charge ne me serait pas inutiles...
> 
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 :)

J'espére avoir eclairci la situation (j'espére lol je ne suit pas tjs tres
clair :p)

 > Merci
> 
> Francis
de rien :)

-- 
---------------------------------
Tchesmeli serge
Admin systéme et réseaux
Léa admin : www.lea-linux.org
[EMAIL PROTECTED] , [EMAIL PROTECTED]

Répondre à