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: