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

Re: initramfs [MERGE: interruption du boot avec 2.5.22] [WAS: fabrication de l'initrd]



Bonjour,
Je voudrais savoir ce qu'il pourrait être possible de faire
sous _initramfs_ :
Je me permets de merger avec mon boot qui plante
dont voici quelques lignes pour aide mémoire :
BusyBox v1.1.3 (debian 1:1.1.3-5) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bins/sh: can't access tty; job contro turned off
(initranfs)
==> cf plus bas (dans l'ordre normal de lecture)

--- Eric DECORNOD <eric@decornod.com> a écrit :

> Le mardi 30 octobre 2007, Pascal Hambourg a écrit :
> > > >  Je n'en sais pas plus, pour moi c'est de la magie noire
> > Je sais ce qu'est l'initrd et à quoi il sert dans les grandes
> lignes.
> Dsl, je ne voulais pas vexer, c'était pour éclairer la magie noire...
> 
> > La magie noire, c'est comment il est fabriqué 
> Elle est construite par initramfs-tools, yaird ou
> linux-initramfs-tool
> (en gros des variantes de mkinitrd)
> 
> La configuration de initramfs-tools par ex. est dans
> /etc/initramfs-tools/
> On peux y choisir/spécifier des modules particuliers à charger avant
> de 
> monter /
> Par exemple si on veux une / en cryptoloop, il faudra que tout y
> soit, et 
> peut-être même scripter la demande de la passphrase pour booter...
> (on peux même aller très loin et scripter ce que l'on veux.)
> 
> La fabrication est faite entre-autre à partir de
> /usr/share/initramfs-tools.

Donc, à ce niveau : initramfs,
est-ce qu'il me serait possible d'essayer de monter
des disques,
sachant qu'ils n'apparaissent (forcément?) pas dans /dev/,
Et éventuellement, ensuite d'essayer de terminer ma séquence de
boot à la main.
(pas très utile mais pourrait être instructif,
vu que sinon il démarre pas..)
(à suivre..)
> 
> > et ce qu'il fait exactement.
> On peux en général en examiner le contenu en la gunzippant et en la
> montant en 
> loopback.
> En gros elle est constituée d'un /bin ultra minimal qui permet
> d'exéctuer le 
> script shell « init¹ » qui devra notament charger les module présents
> dans 
> l'image.
> A la fin, elle monte la partition / dans un sous répertoire et puis
> elle 
> execute pivot_root pour échanger le / (initrd) avec le / (le vrai) ;
> et passe la main à /sbin/init qui se chargera d'interprêter
> /etc/initab
> 
> En gros on pourrait la faire soi-même à la main sans trop de
> difficultés.
> Par exemple celle de KNOPPIX est radicalement différente.
> 
> ¹: /usr/share/initramfs-tools/init
> 
> > > L'initrd est fabriquée lors de la configuration du paquet car son
> contenu
> > > dépend du matériel.
> > Ouais, voilà. Pas très rassurant.
> Au contraire, c'est ce qui permet à un « stock-kernel » de démarrer
> sur 
> n'importe quel hardware sans inclure tous les modules du noyau
> possibles et 
> imaginables (il serait énorme).
> Comme cela on charge les modules du noyau dont « on a besoin » pour
> démarrer.
> 
> Je ne compile plus de noyau perso depuis des lustes et lorsque je le
> fais, je 
> part du .config debian et je laisse tous les modules. Ensuite c'est 
> mkinitramfs fait tout le travail pour moi.
> 
> De plus on peux inclure busybox dans l'initrd, comme cela si le boot
> merde, on 
> dispose de quoi analyser.

Moi j'ai busybox et mon boot merde ...
je pourrais faire quoi d'intéresant ?
(il trouve pas la partition root)

Ce que j'aimerais bien faire c'est la lui trouver
(il la trouvait sous 2.6.21)
et lui demander de reprendre..

Cordialement
FA

> (les anxieux, peuvent demander à y inclure d'office tout ce qu'il
> faut pour 
> faire des fsck, badblocks & co.)
> 
> Cordialement,
> -- 
> Eric DÉCORNOD
> 
> 



      _____________________________________________________________________________ 
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail 



Reply to: