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 :

Un warning pendant la phase d execution du noyau linux


Sujet :

Administration système

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 53
    Points : 32
    Points
    32
    Par défaut Un warning pendant la phase d execution du noyau linux
    Bonjour,

    en fait,je fais un projet sur linux,j ai charge le noyau linux de la memoire flash vers la RAM tout ca sur une carte smart box et apres je l execute mais a la fin de l execution,j ai un warning que je vois pas comment je vais faire, le warning est le suivant :

    Freeing init memory: 236K
    Warning: unable to open an initial console.
    Kernel panic: No init found. Try passing init= option to kernel.

    j espere que vous avez une idee, et merci d'avance
    et bonne journee

  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
    Salut,

    Tu as donc un noyau linux seul, sans rien d'autre ?

    .... C'est normal qu'il proteste

    * La console initial, je ne sais absolument pas à quoi elle sert, car je viens de découvrire que le système peut se lancer sans, n'empêchant pas le noyau de lancer init, et d'ainsi laisser init créer les consoles finales.

    Voir : Console initial et repertoire dev

    Il se peut effectivement que pour certaines applications, aucune console ne soit nécéssaire.

    * Le noyau linux lance un processus initial. Ce processus est nomé Init, en standard, et se trouve dans le repertoire sbin. C'est un comportement par défaut hérité d'Unix. Mais il est bien sure possible que le noyau lance une tache unique quelqu'onque (selon l'utilisation prévue pour ton installation).

    Pour spécifier l'application init au noyau, tu dois lui transmettre le paramètre « init=/my-bin/my-initial-app », par exemple.
    ------------------------------------------------------------
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 53
    Points : 32
    Points
    32
    Par défaut re
    j ai essayer mais j ai toujours la meme erreur, tu peux pas expliquer ta solution d avantage stp et merciii

  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
    Salut,

    Tu as essayé quoi au juste ? Quel est le contexte ? Quels sont les paramètres que tu passes au noyau ? Quel est le contenu du périphérique monté comme root ?

    ... heuuuu... je cherche à me caser dans une formation diplômante... pour avoir des idées, peus-tu me parler un peu de celle que tu fais actuellement ?... vu comme tu en parlais, et la période à laquelle nous sommes, ça ressemble à un projet de stage...
    ------------------------------------------------------------
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 53
    Points : 32
    Points
    32
    Par défaut re
    ce que j ai fait ce que j ai ajouté la phrsae que tu m a donné pour l init a la commande d execution c tt je sais que c bete mais g pas bien compris ta solution
    effectivement je fait un stage en linux pour la 1ere fois !!!! et ca commence bien lol donc je crois pas que je pourrai pas repondre a toutes tes question car je sais pas la reponse

    en fait moi je travail sur un routeur reseauune carte smart box

  6. #6
    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
    Hola, aïe ... le paramètre init que je donnais n'était qu'un exemple factice.

    Linux, que tu l'install sur tout ce que tu veux, c'est toujours la même structure. Seuls les périphériques seront différents.

    Tu peux voir ici :Démarrage de linux

    Tu vois donc que ton noyau doit avoir un système de fichier à monter.

    Comme sous Linux, tous est fichier, tu ne pourra accéder à rien tant que tu n'aura pas un système de fichier accessible.

    Ce système de fichier peut être sur un support en lecteur seul ou en lecteur écriture (comme /dev/hda1). Ce peut même être un disque virtuelle en mémoire (comme /dev/ram), ou même un disque en mémoire (qui n'est pas virtuel). Tu peux le spécifier en donnant au noyau le périphérique à monter dans le paramètre « root=... »

    Dans ton arborescence, tu dois déjà avoir un un repertoire /dev/ qui contient les entrées pour les périphériques qui devront être accessibles (à commencer par la console, qui peut même être une console série, comme /dev/ttyS). Tu peux indiquer au noyau la console initiale à utiliser, en lui passant le paramètre « console=... »

    Tu dois avoir quelque part (généralement dans /sbin/), un programme qui sera lancé comme précessus initial (généralement init). Ce programme est généralement /sbin/init, mais ce n'est pas obligatoire. Tu peux le spécifier en donnant au noyau le chemin vers le processus initial par le paramètre « init=.... »

    Le processus init standard initialise les premiers services (ou daemons), et permet de se loguer en mode root, privilégié, en mode mono utilisateur ou en mode multiutilisateur. Les accés peuvent être protégés par mot de passe.

    En résumé :
    1) chargement du noyau (par divers chargeur)
    2) montage du système de fichier racine (tout est monté sur lui)
    3) ouverture d'une console (entrées/sorties)
    4) lancement du processus initial (qui recevra les handles de la concole initiale)

    N.b (init) : note bien que init (ou ce qui le remplace) est un service permanent (daemons), ce n'est pas un programme lancé à l'initialisation et dont on attend la fin de l'execution pour poursuivre.

    Je ne connais pas le matériel sur lequel tu travail, mais je pense que ton système de fichier racine se trouvera en ROM ou en RAM. Ta console sera probablement une console série (ttyS[n], et non pas tty[n]). La tâche de ton service init sera surement assez simple : pas de système multiutilisateurs, je ne pense pas.

    Les questions à te poser :
    - quelle sera le périphérique racine ?
    - quelle sera le mode de communication avec le système ?
    - quelle seront les applications à faire fonctionner ?

    Les paramètres à fournir au noyau :
    1) root=... (système de fichier racine)
    2) console=... (console initiale que recevra le processus initial)
    3) init=... (processus initial qui restera permanent)

    Peut-être pour ton cas, pourrais-tu trouver des idées en te renseignant sur les installations serveur ?

    Recherche sur le net :

    Recherche sur Yahoo pour installation Linux serveur ou routeur
    Recherche sur Google pour installation Linux serveur ou routeur

    Tu verra quelques topos sur des routeurs fonctionnant sous Linux.

    Voilà, j'espère que ça ira mieux maintenant

    à+
    ------------------------------------------------------------
    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 ]
    ------------------------------------------------------------

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    mercii pour tous ces informations.
    en fait la comment d execution est la suivante :
    RedBoot> exec -b 0x01600000 -l 0x0100000 -c"console=ttyS0,115200 rootfstype=jffs2 root=/dev/mtdblock2"
    et en fait avant d avoir mon probleme j aV un autre probleme ce que qd j execute le noyau il me dit que l adresse memoir est invalide et apres j ai fait qlq changement d adresse l ancien erreu est le suivant:
    RedBoot> fis load -b 0x1600000 linux
    ** Warning - checksum failure. stored: 0x528baf74, computed: 0xa0806f00
    RedBoot> exec -b 0x01600000 -l 0x0100000 -c"console=ttyS0,115200 rootfstype=jffs2 root=/dev/mtdblock2"
    Can't execute Linux - invalid entry address

    donc là j ai deux chemins avec pt etre meme source d erreur et mais là je suis bloquer sur les 2

  8. #8
    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
    Mmmhhhh...

    L'une des options -b ou -l désigne t-elle l'adresse de chargement du noyau ? Où as tu récupéré l'image du noyau ? Peut-être que le relogement du noyau n'est pas bon (relogement : faire le lien entre les adresses logique et les adresse physiques).

    Par exemple j'ai un noyau qui est fait pour être chargé à une adresse précise convenant à un chargement sur PC. Peut-être que tu donne une adresse de chargement pour laquelle le noyau n'est pas fait.

    Si c'est bien le cas, alors il faudra que tu recompile le noyau. Mais ça me semble un peu gros quand même.

    Sais-tu si sur ton matériel il existe des zones de mémoire reservées ? Certaines adresses sont-elles mappées en ROM par exemple ? Y a t-il un chien de garde logiciel quelque part en mémoire ? Il faudrait connaitre la configuration et l'utilisation de la mémoire, pour savoir quelle est la marge de liberté avec l'adresse de chargement du noyau.

    Sur ton matériel, peut-on charger le noyau librement à l'adresse que l'on souhaite ou y at-il des restrictions ?
    ------------------------------------------------------------
    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 ]
    ------------------------------------------------------------

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    salut,

    oui l option -b désigne l'adresse de chargement du noyau.
    l image de noyau je l ai recuperé en compilant le noyau de la distribution snepgear 3.2.
    apparament y a aucune zone memoire resirvée ni chien de garde.

  10. #10
    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 vais retrouver l'adresse à laquelle le noyau se charge habituellement... mais il se peut que ton noyau ai été compilé pour être chargé à une adresse différente. Renseigne toi à ce sujet si tu peux.
    ------------------------------------------------------------
    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. Compteur automatique pendant le temps d'execution de la macro.
    Par Flo3301 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/02/2011, 12h56
  2. Réponses: 2
    Dernier message: 02/12/2008, 11h56
  3. Code VBA très lent - en phase d'execution
    Par Fairyanna dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/08/2008, 15h35
  4. synchronisation drivers pendant la phase de boot
    Par marc_34 dans le forum Administration système
    Réponses: 2
    Dernier message: 18/06/2008, 11h00
  5. Problème d'execution du noyau linux sur 1 carte
    Par Djo00 dans le forum Administration système
    Réponses: 4
    Dernier message: 12/07/2006, 12h34

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