Bonjour,
J'ai un petit souci pour le démarrage d'un shell sur le port COM.
Sur le Module DIGI ME9210 j'ai un linux embarqué.
D'origine dans Inittab j'ai:
# Start busybox console
::respawn:/bin/cttyhack /bin/sh -l
Le shell est bien présent.
Mais je souhaite le lancer depuis mon logiciel.(Mes logiciels exactement)
J'ai donc mis en commentaire:
# Start busybox console
#::respawn:/bin/cttyhack /bin/sh -l
J'ai plusieurs logiciels réalisé par nos soins. Ont peux les considérer comme 2 pack.
Le 1er et fourni avec l'image complète des partition (recompilation du noyau linux et Jffs2). Lorsque l'on nous livrera le module DIGI monté sur la carte ce logiciel sera intégré.
Son but est de vérifier que le 2eme pack est présent. S'il n'est pas présent il démarre un shell. Pour ce faire j'ai intégré le code suivant:
Cela fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system("/bin/cttyhack /bin/sh -l");
Donc une fois que l'on reçois les carte avec le module on ajoute le 2éme pack (en ftp d'ou mon souci sur un autre poste en VB.net http://www.developpez.net/forums/d12...x/#post6976873).
Lorsque les fichiers sont uploader, au boot du module Digi notre 1er logiciel vérifie la présence du pack2 vu qu'il est maintenant présent il démarre mon logiciel. Si tout se passe bien aucun shell n'est lancé.
Par contre grâce au entrées du module DIGI on souhaite pouvoir le lancer en monde TTY et donc lancer un shell.
Pour ce faire je vérifie l'état des entrées puis si l'entrée qui va bien est activée ont démarre le shell. Donc idem je lance la commande:
Mais la cela fonctionne pas du tout. !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system("/bin/cttyhack /bin/sh -l");
Etant encore en phase de développement je reconstruit mon image des partitions sans que le 1er logiciel démarre automatiquement.
Au boot j'ai donc linux qui se lance mais j'ai pas la main du tout sur le Port COM.
A l'aide de telnet je lance le 2éme logiciel et la le shell se lance sans souci. Je vois bien le message:
BusyBox v1.15.2 (2009-12-03 15:11:08 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
Idem si dans Inittab je lance le logiciel 2 au lieu du 1.
C'est donc uniquement si depuis le logiciel 1 je lance le logiciel 2 puis je lance le cttyhack.
Y a t'il une raison à cela ? en espérant avoir été suffisamment clair.
Je précise que pour lancer le logiciel depuis inittab j'ai juste rajouté une ligne:
::sysinit: /sbin/MonLogiciel1 ou MonLogiciel2
Merci de votre aide car le je bloque vraiment.
Partager