OVH Cloud OVH Cloud

debian minimaliste sur disque dur

6 réponses
Avatar
manop
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.
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
/sbin/init: 431: cannot open dev/console: no such file
Kernel panic: attempted to kill init !
----------------------------------------------------

je trouve pourtant /sbin/pivot_root
je ne comprends pas ce qu'il se passe...
et vous ?


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

6 réponses

Avatar
Florent Bayle
--nextPart3635815.3vyqGaconu
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le Samedi 28 Mai 2005 08:30, manop a écrit :
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.
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
/sbin/init: 431: cannot open dev/console: no such file
Kernel panic: attempted to kill init !
----------------------------------------------------

je trouve pourtant /sbin/pivot_root
je ne comprends pas ce qu'il se passe...
et vous ?



Si ça t'intéresse, ça fait deux semaines que je travaille dans le cad re de mon
stage sur la réalisation d'un linux embarqué. J'arrive à faire tenir dans 3.5
Mo : kernel (2.4.30 allégé) + shell (ash de busybox) + outils GNU (busy box) +
couche réseau + prise de contrôle à distance (telnet) +
"graphique" (directfb).

J'ai commencé à écrire un guide (très incomplet pour l'instant), et je peux te
l'envoyer en privé si ça t'intéresse?

--
Florent

-- Citation aléatoire --

19:35 KDE est au window manager ce que Mandrake est à Linux.

--nextPart3635815.3vyqGaconu
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBCmFanM+Ix3/RCm3gRAt0tAJ4gkuTSbDAqtIdeDJyRmZgJGosQogCdEAv4
YYZkHqWYKZyZ78+uHVnoxVQ =MtST
-----END PGP SIGNATURE-----

--nextPart3635815.3vyqGaconu--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Cyprien
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.
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
/sbin/init: 431: cannot open dev/console: no such file
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

Cyprien


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yann Bénigot
Le 28/05/05, Cyprien 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.
> 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
> /sbin/init: 431: cannot open dev/console: no such file
> 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

Cyprien


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact .org




Ou alors il doit te manquer quleques librairies... fait un ldd
/sbin/pivot_root pour savoir desquelles il dépend.
Avatar
Sylvain Sauvage
samedi 28 mai 2005, 21:54:11 CEST, Yann Bénigot a écrit :

Le 28/05/05, Cyprien 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 /linux rc),
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
Avatar
manop
Sylvain Sauvage wrote:

samedi 28 mai 2005, 21:54:11 CEST, Yann Bénigot a écrit :


Le 28/05/05, Cyprien 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


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Dimanche 29 mai 2005, 11:58:09 CEST, manop a écrit :

Sylvain Sauvage wrote:
[...]
>Je crois que Cyprien est dans le vrai.
>
>Le « pivot_root: no such file or directory » ne signifie pas que c'e st
>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 /li nuxrc),
>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 v ers
>/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...)



Il les crée après (le démarrage se fait en différentes phases).
Avant le pivot_root, le / est celui de l'initrd (le fichier initrd est une
image d'une partition en cramfs qui sera montée en mémoire), les devices
sont donc ceux du /dev de cette image. À partir du pivot_root, la
partition utilisée pour le / est bien celle du disque.
Cette partition doit posséder un minimum de devices dans son /dev.
devfs ou udev ne peuvent intervenir que plus tard.

<PARTIE IMPORTANTE>

Donc, pour régler ton problème, tu dois créer quelques devices dans t on
/dev.
Le plus simple est de lancer la commande 'MAKEDEV generic' depuis le
répertoire /dev de ton futur système. Cela créera un tas de devices m ais,
au moins, on est à peu près sûr qu'il aura ceux dont il a besoin au
démarrage.

</PARTIE IMPORTANTE>

- qu'est ce que le device pour le root ?



Le device de la partition / (/dev/hda# ou autre).

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.



Donc l'initrd est correct. Le problème se situe alors dans le / de ton
système.

Faut-il compiler obligatoirement un kernel avec des paramètres
spécifiques (par exemple pour pivot_root).



Non.

--
Sylvain Sauvage