Mám počítač mini2440 ARM s malou obrazovkou a aktuálně mi na něm spouští Debian Squeeze. Komunikuji s ním přes sériové připojení pomocí minicom
. Když ta věc nabootuje, zobrazí se mi výzva k přihlášení přes seriál a na malé obrazovce. Pokud připojím klávesnici USB, mohu se přihlásit a používat terminál s malou obrazovkou.
Snažím se pochopit myšlenku terminálů nebo konzolí v Linuxu. Jak systém ví, že mi má dát výzvu k přihlášení přes sériové připojení? Mohu přesměrovat výstup programu volaný ze sériové relace na obrazovku? Mohu nastavit, aby obrazovka zrcadlila to, co vidím v seriálu? Jsem jen velmi zmatený z toho, jaké procesy to řeší a proč byl přihlašovací systém navržen takto.
Budu velmi rád za jakýkoli přehled nebo užitečné reference. Díky
Přijatá odpověď:
Systém vám umožňuje přihlásit se přes sériový port, protože v /etc/inittab
máte řádek podobný tomuto :
T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
To znamená spustit getty na ttyS0 v úrovních běhu 2 a 3 a znovu jej obnovit, když existuje. 9600 je samozřejmě počet bitů za sekundu a vt100 je typ terminálu. Gettys si také všimnete na tty1–6, to jsou virtuální konzole kernel VGA (které jsou pravděpodobně připojeny k malé obrazovce).
Můžete zapisovat do VGA konzole, na které běží váš program, nebo ji případně otevřít (obecně po zakomentování řádků inittab, které tam běží getty). Můžete také použít knihovny framebufferu (nebo přímo rozhraní framebufferu jádra). Předpokládám, že by na něm mohl dokonce začít X.
Nejste si jisti, jaký je nejjednodušší způsob zrcadlení výstupu na obou ttys.