[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ramdisk (initrd) et noyau 2.4



Le Mon, Sep 17, 2001 at 01:40:38PM +0200, Michel Grentzinger ecrit :
> Depuis que je suis passé au noyau 2.4 (directement au 2.4.7), je suis 
> confronté à des kernel panic... :-(
unable to mount root filesystem ? 
ton ramdisk ne se charge pas.

> A chaque compilation du noyau, je suis obligé de créer une image 
> ramdisk avec mkinitrd, de modifier lilo.conf en conséquence...
normal
> A quoi sert initrd et surtout, est-ce vraiment bien utile ? Comment 
> peut-on le désactiver ?
Beaucoup de questions sur une seule ligne :
 - a quoi ca sert : a avoir les modules disponibles pour le kernel AVANT
   qu'il ne monte le ROOT FS (/)
 - est-ce bien utile : tout depends de la facon dont tu configure ton
   kernel. Je m'explique. Tu peux tres bien configurer ton kernel avec
   TOUS les drivers (meme EXT2, IDE et SCSI) en modules, mais, la, lorsque
   le kernel se charge en memoire, il est incapable d'acceder au disque, et
   de monter le filesystem sur lequel il pourrait ensuite trouver les
   modules dont il a besoin pour le faire !!! ca se mord la queue.
   C'est pourquoi on peut mettre certains modules directement accessibles
   pour le kernel. Pour cela, il faut juste mettre en monolithique les
   drivers cramfs et initrd, puis faire le mkinitrd.
 - comment peut-on le desactiver : si tu as le kernel panic, c'est que tu
   as reussi ! =) En fait, si tu veux avoir un kernel modulaire sans
   initrd, tu dois, en effet, commencer par en desactiver le support dans
   la partie RAMDISK. Ensuite, il faut que tu compiles en dur (Y) TOUS les
   drivers dont ton kernel a besoin pour reussir a mounter la racine. 
   Typiquement : driver IDE ou SCSI (plus specifique chipset : PROMISE, chez
   moi, par exemple) et EXT2FS (du moins si / est en ext2). A partir de
   la, ton kernel sera en mesure de monter / tout seul, et donc, d'acceder
   a /lib/modules/2.4.x pour charger le reste dont il peut avoir besoin.
 
> Si cela peut vous aider, je possède un Athlon 1 Ghz, 512 Mo de RAM, un 
> disque UDMA 100 en 7200 tours de chez IBM qui me donne du 38 Mo/s avec 
> hdparm -tT /dev/hda.
Pas mal... =) Si tu veux savoir exactement a quoi cela correspond,
tu bootes sur un kernel debian, et tu regardes le resultat de lsmod.

En cas de probleme, la solution est importante, mais la comprehension
du pourquoi ca marche (pas) est elle aussi TRES importante. =)

-- 
(0> Francois Cerbelle            <O)          |\      _,,,---,,_
//\ mailto:francois@cerbelle.net /\\    ZZZzz /,`.-'`'    -.  ;-;;,_
V_/ Cell: (+33/0) 603 015 512    \_V         |,4-  ) )-,_. ,\ (  `'-'
                                            '---''(_/--'  `-'\_)



Reply to: