IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Console initial et repertoire /dev


Sujet :

Administration système

  1. #1
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut Console initial et repertoire /dev
    Bonsoir,

    Je tente de démarrer un kernel avec loadlin. J'ai créé au préalable un init factice, qui ne fait qu'afficher un petit texte de salutation avant d'entrer dans une boucle sans fin.

    Mais le texte qu'Init affiche n'apparait pas, et la phase de boot du kernel se termine par le trop célèbre message « Warning : unable to open an initial console ».

    J'ai essayé de passer les paramètres « console=/dev/tty0 » puis « console=tty0 ». Dans les deux cas, le kernel ne boot même plus, il s'arrête net aprés son lancement (i.e. juste aprés que loadlin vient de le decompresser). Je ne pense pas que le problème vient de loadlin, puisque que loadlin n'interprête pas ce paramètre, et le passe tel-quel au noyau.

    La question que je me pose : employant un kernel 2.4, le repertoire dev est un repertoire spécial pris en charge par le système de fichier devfs. Il ne devrait donc pas y avoir besoin d'une arborescence dev sur la racine, puisque c'est le noyeau qui cré ce repertoire (bien que ce repertoire soit associé au repertoire dev depuis la racine, il n'existe qu'en mémoire, et est créé dynamiquement).

    Alors pourquoi ne peut-il pas ouvrire la console initial ?

    Une autre question : avant même d'avoir initialisé la moindre console (du moins en apparence), le kernel envoi de nombreuses sorties à l'écran. Quel est, dans les termes du noyau, le périphérique sur lequel sont envoyées ces sorties ? C'est une console spéciale ? Ce périphérique est-il encore accessible aprés la fin du boot du noyau ?

    Merci pour vos indications
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  2. #2
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Quelqu'un(e) sait quels sont les éléments nécéssaires à l'ouverture de la console initiale ? Parce que le message « unable to open machin chose », on le voit partout, mais il ne dit rien. Et aucun document, même sur le site du ldp ne donne la liste des éléments nécéssaires à l'ouverture de la console initiale.

    Le noyau affiche tout un tas de choses au démarrage, mais aprés avoir démarré, il ne sait plus rien afficher ... bizzare. Et aucun document qui explique cette logique : toujours du bricolage au cas par cas, sans jamais vraiment donner l'impression de comprendre ce qui se passe au fond : la documentation manque à ce sujet.

    J'ai pourtant bien un tty dans le repertoire bin, j'ai bien un repertoire dev, j'ai bien un devs dont le montage s'effectue sur dev. So what is missing ?

    ... si au moins les messages du noyau étaient plus parlants... on voit défiler tout un tas de choses inutiles (puisqu'on a même pas le temps de les lire), mais les messages d'erreurs se contentent de 3 mots et n'indiquent absolument rien. C'est assurément un point sur lequel Linux devrait évoluer (même le MS-DOS est plus parlant à ce sujet).
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  3. #3
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Est-ce que le noyau averti quand il ne reconnais pas une option de démarrage ? Parce qu'il semble bien que devfs n'est pas monté, ou alors qu'il n'y a pas de tty(n) dans devfs. Pourtant, je peux passer le parmètre « root=/dev/hda1 »... et si le noyau interprète correctement ce paramètre, c'est qu'il reconnais bien « /dev », et donc que devfs fonctionne. Car sans devfs, comment le noyau pourrait-il connaitre « /dev/hda1 » alors que le dev sur disque est vide ? (note : j'ai bien le message qui confirme que la racine est monté)

    Je me trompe ou pas en déduisant de cela que devfs est bien fonctionnel ?

    La console est malgré-cela normalement crée, si je rempli le repertoire dev, physiquement sur le disque.

    Est-il possible que defvs ne cré pas un périphérique aussi banal de tty ?

    Note : on peut effectivement utiliser un repertoire dev sur une partition umsdos, à condition que les --linux-.--- soient bien présents et corrects.. Ce dernier point indiquant clairement que si c'est possible sur une partition umsdos, ça n'est pas possible sur une partition dos as-is.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  4. #4
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Je constate un phénomène trés étrange.

    Si je démarre avec un repertoire dev vide, le processus de démarrage s'arrête net aprés le message « unable to open machin-truc ». Mais si je remplie le repertoire avec seulement des entrées tty (tty, et tty0-tty9), le noyau affiche toujours le message « unable etc ... », mais il n'arrête pas le processus. C'est déjà, à ce point là, assez étrange.

    Donc il ne peut pas ouvrire de console, malgré la présence des tty. Ceci signifie donc qu'il n'ouvre pas la console initiale par un tty ? Mais sur quoi alors ?

    Mais il y a encore plus étrange : alors que la console initiale n'a pas été ouverte, les affichages se font tout à fait normalement, le démarrage se poursuit, l'init se lance.

    Alors la console initiale ne sert à rien ? Qu'est-elle au juste ? Quelle est son rôle ?
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  5. #5
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    La console initiale n'est effectivement pas obligatoire. La console initiale permet d'initialiser les handles d'entrée/sortie standard qui seront passés au processus initial (handles qui sont en C : stdin, stdout et stderr). Mais si la console initiale n'a pas put être ouverte pour des raisons quelquonques, cela n'empêche pas le noyau de lancer le processus initial, ce dernier pouvant toujours créer les consoles finales (comme par exemple les Init typiques, qui cré quelques consoles, accessibles par Alt-F(n)). Cette console initiale n'étant pas obligatoire, cela explique que le noyau le signale par un avertissement (warning), et non pas un message d'erreur fatale.

    Même si cette console n'est pas formellement obligatoire, elle peut être requise par le processus initial. Tout dépend de lui et des applications lancées ensuite. Le mieux étant bien sure que cette console soit effectivement ouverte, garatissant que tout fonctionnera normalement.

    Le noyau attend effectivement une entrée dev/console pour ouvrire la console initiale. Je suis quand même étonné en ce qui concerne devfs qui ne semble pas cré cette entrée standard (et qui ne semble toujours pas être monté sur /dev).
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

Discussions similaires

  1. [Dev C++] Accent sous la console
    Par jmjmjm dans le forum Dev-C++
    Réponses: 7
    Dernier message: 22/12/2010, 08h56
  2. kernel panic /dev/console
    Par gijy dans le forum Debian
    Réponses: 18
    Dernier message: 18/04/2008, 12h39
  3. la console en dev-c++
    Par opensource dans le forum Dev-C++
    Réponses: 0
    Dernier message: 13/09/2007, 12h57
  4. colorer un printf avec dev c++ dans la console
    Par masterix59 dans le forum C
    Réponses: 13
    Dernier message: 17/12/2006, 17h20
  5. [Dev-Cpp] Différence mode Win32 Console / GUI
    Par Copros dans le forum Dev-C++
    Réponses: 1
    Dernier message: 08/06/2006, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo