J'ai un ordinateur mini2440 ARM avec un petit écran et je l'ai actuellement en train de démarrer Debian Squeeze. Je communique avec lui via une connexion série en utilisant minicom
. Lorsque la chose démarre, elle me donne une invite de connexion sur la série et sur le petit écran. Si je branche un clavier USB, je peux me connecter et utiliser le terminal petit écran.
J'essaie de comprendre l'idée de terminaux ou de consoles sous Linux. Comment le système sait-il me donner une invite de connexion via la connexion série ? Puis-je rediriger la sortie d'un programme appelé depuis la session série vers l'écran ? Puis-je faire en sorte que l'écran reflète ce que je vois sur la série ? Je suis juste très confus quant aux processus qui gèrent cela et pourquoi le système de connexion a été conçu comme ça.
J'apprécierais grandement tout aperçu ou références utiles. Merci
Réponse acceptée :
Le système vous permet de vous connecter en série car vous avez une ligne comme celle-ci dans /etc/inittab
:
T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
Cela signifie qu'il faut exécuter un getty sur ttyS0 dans les niveaux d'exécution 2 et 3, et le faire réapparaître lorsqu'il existe. 9600 est bien sûr les bits par seconde, et vt100 est le type de terminal. Vous remarquerez également gettys sur tty1–6, ce sont les consoles virtuelles VGA du noyau (qui sont probablement connectées au petit écran).
Vous pouvez écrire sur la console VGA en y exécutant votre programme, ou bien l'ouvrir (généralement après avoir commenté les lignes inittab qui y exécutent getty). Vous pouvez également utiliser les bibliothèques de tampons de trame (ou directement l'interface de tampon de trame du noyau). Pourrait même lancer X dessus, je suppose.
Je ne sais pas quel est le moyen le plus simple de refléter la sortie sur les deux ttys.