samedi 28 mai 2005, 21:54:11 CEST, Yann Bénigot a écrit :
> 
> Le 28/05/05, Cyprien<[EMAIL PROTECTED]> a écrit :
> > On Sat, May 28, 2005 at 08:30:58AM +0200, manop wrote:
> > > bonjour à tous,
> > >
> > > voila je voudrais faire un linux minimaliste,
> > > j'ai donc crée une partition neuve, rajouté le lien pour grub, mis
> > > le vmlinuz, le initrd.img, le trucmap aussi.
                     ^^^^^^^^^^
indice n°1

> > > En plus, le répertoire bin et sbin.
> > > J'ai enlevé /bin/init pour qu'il lance /bin/sh à la place (j'ai lu
> > > ça dans la doc)
> > > J'ai quand même mis en paramêtre du kernel: init=/bin/sh
> > >
> > >
> > > Le résultat est: le kernel boote bien jusqu'à l'init:
> > > ----------------------------------------------------
> > > pivot_root: no such file or directory
      ^^^^^^^^^^
indice n°2

> > > /sbin/init: 431: cannot open dev/console: no such file
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
indice n°3

> > > Kernel panic: attempted to kill init !
> > > ----------------------------------------------------
> > >
> > > je trouve pourtant /sbin/pivot_root
> > > je ne comprends pas ce qu'il se passe...
> > > et vous ?
> > 
> > /sbin/pivot_root ?
> > 
> > Sinon il doit te manquer quelques fichiers devices, tel que
> > /dev/console :
> > 
> >     mknod /dev/console c 5 1
> Ou alors il doit te manquer quleques librairies... fait un ldd
> /sbin/pivot_root pour savoir desquelles il dépend.

Je crois que Cyprien est dans le vrai.

Le « pivot_root: no such file or directory » ne signifie pas que c'est
pivot_root qui n'est pas trouvé.

Les messages d'erreur ont la forme "<programme en cours>: message". Ici,
pivot_root indique le programme qui génère l'erreur.
(On le remarque aussi après : « /sbin/init:... file » :
 - processus principal : init ;
 - processus fils d'init : n°431 ;
 - message : /dev/console ne peut être ouvert ;
 - explication du message : pas de fichier /dev/console. )

Donc, ce qui se passe, c'est que pivot_root ne trouve pas un des fichiers
qu'il utilise.

Il faut vérifier le fichier exécuté par l'initrd (de mémoire /linuxrc),
regarder quels sont les paramètres de pivot_root et vérifier que ces
fichiers existent ou qu'il y a bien une commande précédente qui les crée
(vérifier notamment pour la redirection de la sortie standard vers
/dev/console que /dev/console existe).

pivot_root, comme son nom l'indique, permet de passer du ramdisk au vrai
disque root (le / quoi), le fichier qui manque est peut-être simplement le
device pour le root.

-- 
Sylvain Sauvage

Répondre à