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

Re: debian minimaliste sur disque dur



Sylvain Sauvage wrote:

samedi 28 mai 2005, 21:54:11 CEST, Yann Bénigot a écrit :
Le 28/05/05, Cyprien<cyprien33@laposte.spam.net> 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.

Merci pour toutes ces explications !

Pourtant quelques points confus subsistent:
- je croyais que le kernel aller créer les devices dans /dev
 ma question: le kernel crée-t-il les devices, pas tous ?
(le kernel s'attend-il à avoir le fichier /dev/console, qu'il branche alors avec je ne sais quoi...)
- qu'est ce que le device pour le root ?

Je ne sais pas comment connaitre les paramètres de pivot_root (faut-il voir le code de init ?)
Le kernel que j'ai employé est celui donné par le package debian.
Faut-il compiler obligatoirement un kernel avec des paramètres spécifiques (par exemple pour pivot_root).

merci



Reply to: