Le Sat, Jul 06, 2002 at 12:51:43AM +0100, Yves Rutschle ecrit :
> On Sat, Jul 06, 2002 at 01:17:02AM +0200, Francois Cerbelle wrote:
> [Inter�t de initrd]
> > Tout simple, si tu as un parc de machines dont la configuration est *A
> > PEU PRES* la m�me, mais pas exactement : une avec une carte graphique
> > ATI, l'autre avec Matrox, .... Mais toutes doivent avoir le support NFS
> > (pour les repertoires home) par exemple ==>
> > Kernel avec :
> > - en dur : NFS
> > - en mou (initrd) : ATI, Matrox
> > 
> > Et tu deploies ton joli kernel dans le m�me joli paquet .deb sur toutes
> > les jolies machines !!! :-)
> Mais mais mais (mais j'ai d�j� dis �a ce soir), tu peux
> aussi faire �a sans initrd:
> - en dur NFS
> - en module dans le /lib/modules normal, ATI, Matrox
> et quand le noyau boote, il charge ce qu'il faut. C'est
> comme �a que la plupart des distributions font du
> "plug-and-play" (en quelque sorte: on met le p�riph�rique et
> le driver est d�j� l�).
> A priori, �a ne devrait �tre utile que pour charger la vraie
> root, ce qui implique que les machines de ton parc ont
> toutes des roots diff�rentes:
> - Une en ext2 sur hda2
> - Une en reiserfs sur sda4
> - Une en nfsroot
> Ce qui permet au m�me (petit) noyau de d�marrer, charger
> soit ide/ext2, soit reiserfs/scsi soit nfs, sans que �a soit
> impos� en dur pour les autres machines.
> Mais mais mais, �a pourrait tout �tre compil� en __init dans
> le noyau, et faire un noyau qui supporte, seulement au
> d�marrage, ext2, reiserfs, ide et scsi et nfsroot, puis
> "oublie" tout �a.
> Mais �a implique pas mal de retouches dans le code, et en
> plus �a rend le noyau (le vrai, celui qui a besoin d'�tre en
> mode superviseur) plus gros pour rien, d'o� la volont� de
> pousser l'initialisation dans l'userland, d'o� initrd tout
> le temps.
> Tiens, maintenant j'ai compris :-)
> > Y'a pas de raison, ce sont des vases communiquants : Ce que tu ne mets
> > pas dans ton kernel, tu le mets dans le initrd, et vice versa, mais rien
> > ne t'oblige � en mettre plus que tu n'en as besoin. Au lieu d'avoir un
> > kernel monolithique de 700K, tu auras un kernel de 300K (taille
> > approximative d'un kernel sans drivers) et un initrd de 400K.
> N'y a-t-il pas besoin d'applications et donc de librairies
> dans le initrd?
Non, mais si tu regardes bien, lors du d�marrage d'un kernel debian, par
exemple, tu as 5 secondes d'attente au boot, pendant lesquelles tu peux
lancer un shell. C'est dans le initrd que ca se passe, juste avant le
montage de /
initrd peut contenir un fichier linuxrc � lancer pour executer des
commandes. Par exemple, un script qui va detecter que ta racine est sur
/dev/sda4 plutot que /dev/hda1.
Ca te permet surtout d'avoir une seule compilation qui est generale,
mais qui sait s'adapter a tes configs sans recompil ni repackaging.
Le souci est que seul le FS ne suffit pas, il faut aussi les drivers
plus bas niveau comme pour moi, le driver IDE Promise RAID, les drivers
RAID, les drivers SCSI, les correctifs de ROM, ..... et oui, on n'y
pense pas forcement, mais y'en a besoin. Si tu arrives � tout desactiver
dans la config de ton kernel et � ne reactiver que et uniquement que ce
dont tu as besoin du premier coup de "make menuconfig", moi, la, je te
dis "chapeau". A chaque fois il me manque un petit bidule de rien : le
promise pour mon disque n'est qu'un exemple.

En plus, tu n'est pas du tout oblige de mettre TOUS les modules que tu
as compile dans le initrd, juste les modules necessaires entre le boot
et le montage de '/'

Je crois que l'on commence a etre un peu hors-sujet sur la ML.
-- 
(0> Francois Cerbelle            <O)              |\      _,,,---,,_
//\ mailto:[EMAIL PROTECTED] /\\        ZZZzz /,`.-'`'    -.  ;-;;,_
V_/ Cell: (+33/0) 603 015 512    \_V             |,4-  ) )-,_. ,\ (  `'-'
#define QUESTION ((bb) || !(bb)) - Shakespeare  '---''(_/--'  `-'\_)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à