Frage

Ich entwickle ein eingebettetes System, das zur Zeit Linux mit Konsolenausgabe auf serieller Schnittstelle 1 (mit der Konsole Boot-param aus dem Bootloader) bootet. Aber irgendwann werden wir diese serielle Schnittstelle sein. Was ist die beste Lösung für die Kernel-Konsole ausgegeben? / Dev / null? Kann es auf einem pty irgendwie gestellt werden, so dass wir möglicherweise den Zugriff darauf bekommen?

War es hilfreich?

Lösung

Wenn Sie nur Kernel printk Nachrichten von der Konsole lesen wollen, und nicht tatsächlich getty oder eine Shell auf sie ausführen, können Sie netconsole verwenden. Sie können die folgenden Bootloader Kernel-Optionen liefern (oder modprobe netconsole):

netconsole=4444@10.0.0.1/eth1,9353@10.0.0.2/12:34:56:78:9a:bc

, wo 4444 der lokal Port ist 10.0.0.1 die lokale IP, eth1 die lokale Schnittstelle ist es, die Nachrichten aus zu senden. 9353 ist die Remote-Port, 10.0.0.2 ist der Remote-IP die Nachrichten an, und das letzte Argument ist die Fernbedienung (zB: Ihr Desktop) zu senden. Systems MAC-Adresse

Dann werden die Nachrichten anzuzeigen ausführen:

netcat -u -l -p 9353

Sie können mehr über diese in Dokumentation / networking / netconsole.txt

Andere Tipps

Sie können auf die printk Nachrichtenpuffer aus einer Schale mit dmesg. Der Kernel-Puffer von endlicher Größe und die ältesten Einträge mit den neuesten überschrieben werden, so würden Sie müssen entweder dmesg regelmäßig überprüfen oder Haken netconsole als @bmdhacks vermuten läßt.

Wenn es keine Konsole Sie jede oops Informationen von einem Kernel-Absturz ausgedruckt vermissen. Auch netconsole mit helfen kann, nicht da, wenn der Kernel stirbt und beginnt neu zu starten, bevor TCP die Ausgabe an den Remote-Buchse zu liefern verwaltet. Wir ändern im Allgemeinen kernel / panic.c. Panic () Inhalt und anderen Zustand in einen Bereich registrieren speichern von NOR-Flash, so wird es zumindest einige Informationen für post-mortem-Debugging sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top