Forum Linux.noyau Message d'erreur : "You don't exist. Go away !"

Posté par  .
Étiquettes : aucune
0
25
déc.
2004
Bonsoir tout le monde et joyeux Noël !

Bon, j'ai un vieux 386 avec 4 Mo de RAM, lecteur de disquette mais sans disque dur.

J'ai envie de m'en servir comme terminal. Pour celà, j'essaye de construire une disquette de boot contenant l'émulateur de terminal minicom (si vous avez plus léger, je suis preneur !).

Voilà donc ce que je fais, en gros :
- je crée un système de fichier ext2 sur une disquette avec toute l'arborescence et tous les fichiers qu'il faut dans /etc par exemple.
- je compile un noyau que je copie dans l'arborescence de la disquette
- je met en place lilo sur la disquette
- je compile minicom statiquement et je le copie sur la disquette

Une fois la disquette placée dans le 386, voici ce qui devrait se passer :
- boot sur lilo qui lance le noyau linux
- la ligne de commande du noyau linux étant du genre "root=/dev/fd0 init=/bin/minicom", ça devrait lancer directement minicom à la place d'init comme sur les vrais systèmes.

Seulement voilà, le noyau démarre et finit de s'initialiser, mais voici ce que j'obtiens comme message d'erreur :
"You don't exist Go away !",
suivi d'un kernel panic

Avez-vous une idée de ce qui se passe ? Google ne m'est pas d'un grand secours malheureusement :(

Merci d'avance !
  • # j'ai trouvé

    Posté par  . Évalué à 7.

    J'ai finalement compilé strace statiquement pour mon 386, j'ai lancé
    strace minicom
    et dans les divers messages, je découvre que le binaire pourtant statique de minicom fait appel à la bibliothèque libnss_files.so

    Je me rappelle alors que pendant la compilation de minicom, j'ai eu droit à un warning comme quoi justement une certaine fonction getpwuid aurait besoin de la bibliothèque libnss_files.

    Bon bah, on plonge dans le code source de minicom.

    Oud, la fonction getpwuid() n'est appelée qu'une seule fois. Quand l'appel à cette fonction ne se déroule pas bien, le fameux message "You don't exist. Go away !" est affiché.
    Aller hop, je commente l'appel à cette fonction getpwuid()

    En fait getpwuid() remplit une structure contenant les champs du fichier /etc/password pour un uitlisateur donné.

    Comme je suis en système embarqué et que seul l'utilisateur root est présent, j'ai remplit moi-même à la main cette structure.

    C'est sale mais ça marche !

    Courage, il ne me reste plus qu'à régler ce problème de clavier, peut-être essayé de compiler avec uclibc voire dietlibc au lieu de la grosse glibc, et enfin je pourrais aller me coucher en ce jour de Noël :)
    • [^] # Re: j'ai trouvé

      Posté par  (site web personnel) . Évalué à 10.

      Ben dis donc, c'est tout ce que t'a eu pour noël? un vieux 386 avec 4Mo de RAM...??

      T'a pas du être bien sage cette année toi....

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.