Frage

Was ist der beste Weg, um Setup einer Linux-Box auf der seriell Port für eingehende Verbindungen zu hören? Ich habe eine Menge von googeln getan, aber ich kann nicht die richtige Kombination von Befehlen finden, um tatsächlich mit ihnen zu sprechen zu bekommen!

Mein Hauptziel ist es, eine serielle Schnittstelle zur laufenden Instanzen von KVM- / Qemu VMs zur Verfügung zu stellen. Sie haben zur Zeit nur eine VNC-Schnittstelle (sie sind auf Headless-Server, keine X). Ich kann die VM erhalte ein serielles Gerät zu schaffen, indem sie sie mit der -serial Datei starten: Flagge, aber, wie man es sprechen, ist ein ganz anderes Problem. Beide Boxen sind mit Ubuntu 8.04.

War es hilfreich?

Lösung

Die Linux Serien HOWTO im Allgemeinen eine Menge detaillierter Informationen über die serielle Kommunikation hat. Je mehr spezifische Linux Remote-Serial Console HOWTO ist, was Sie‘ re wirklich suchen, wenn Sie in Ihrer virtualisierten Systemen anmelden zu können, die serielle Schnittstelle als ob Sie an der Konsole waren. Als Hein angegeben, benötigen Sie ein Nullmodemkabel und müssen Minicom auf dem entfernten Endgerät ausgeführt werden.

Die Linux-Konsole wird auf zwei Arten verwendet, die jeweils separat für die serielle Verwendung konfiguriert werden muss. Sie können den Kernel konfigurieren seine Nachrichten über die serielle Schnittstelle zu kopieren, die für das Ansehen des Systemstarts gelegentlich interessant ist und fast unverzichtbar, wenn Sie Kerneldebuggen tun. (Dies erfordert die Unterstützung Kernel und die Aktualisierung der Boot-Parameter so der Kernel kennt Sie seriellen Ausgang wollen, siehe Kapitel 5 des zweiten Howto.) Du bist wahrscheinlich mehr daran interessiert, über die serielle Schnittstelle der Anmeldung, die sich auf die serielle Schnittstelle nach dem Booten (wie Ihr System bereits läuft getty erfordert läuft getty auf die virtuellen Terminals nach dem Booten), die im Detail in Kapitel 6 des Howto.

Andere Tipps

Ich gehe davon aus Sie die beiden seriellen Ports verbinden eine "Null-Modem" Kabel.

ein Programm wie Minicom können Sie Remote-System sprechen - Sie wahrscheinlich die Kommunikationsparameter einrichten müssen und möglicherweise Hardware-Flusssteuerung ausschalten (wenn Ihr Kabel nicht über die Strömungssteuerleitungen verbunden)

Angenommen, Sie tun dies auf / dev / tty1.

in der Shell

chown *youruser* /dev/tty1

dann in einem Perl-Skript namens example.pl

open PORT, "</dev/tty1" || die "Can't open port: $!";
while (defined ($_ = <PORT>))
{
 do_something($_);
}
close PORT;

Offensichtlich gibt es mehr zu tun, wenn Sie diese automatisch gestartet werden soll, und respawnen auf Fehler, und so weiter. Aber die Grundidee ist von der seriellen Schnittstelle wie eine Datei zu lesen.

scroll top