Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取两个Linux(虚拟)机箱,它们通过串行端口进行通信_Linux_Serial Port_Virtualization_Kvm_Qemu - Fatal编程技术网

获取两个Linux(虚拟)机箱,它们通过串行端口进行通信

获取两个Linux(虚拟)机箱,它们通过串行端口进行通信,linux,serial-port,virtualization,kvm,qemu,Linux,Serial Port,Virtualization,Kvm,Qemu,设置一个Linux设备在其串行端口上侦听传入连接的最佳方法是什么?我在谷歌上搜索了很多次,但是我找不到正确的命令组合来让他们说话 我的主要目标是为kvm/qemu虚拟机的运行实例提供一个串行接口。它们目前只有一个VNC接口(它们位于无头服务器上,没有X)。我可以通过使用-serial file:flag启动虚拟机来创建一个串行设备,但是如何与它通信是另一个问题。两个盒子都运行Ubuntu 8.04。我假设您使用“空调制解调器”电缆连接两个串行端口 使用像minicom这样的程序与远程系统通信——

设置一个Linux设备在其串行端口上侦听传入连接的最佳方法是什么?我在谷歌上搜索了很多次,但是我找不到正确的命令组合来让他们说话


我的主要目标是为kvm/qemu虚拟机的运行实例提供一个串行接口。它们目前只有一个VNC接口(它们位于无头服务器上,没有X)。我可以通过使用-serial file:flag启动虚拟机来创建一个串行设备,但是如何与它通信是另一个问题。两个盒子都运行Ubuntu 8.04。

我假设您使用“空调制解调器”电缆连接两个串行端口

使用像minicom这样的程序与远程系统通信——您可能需要设置通信参数,并可能关闭硬件流量控制(如果您的电缆没有连接流量控制线路)。

通常有很多关于串行通信的详细信息。更具体的是,如果您希望能够像在控制台一样使用串行端口登录到虚拟化系统,您真正需要的是什么。正如Hein所指出的,您需要一根零调制解调器电缆,并且需要在远程终端上运行minicom


Linux控制台有两种使用方式,每种方式都必须单独配置以供串行使用。您可以将内核配置为通过串行端口复制其消息,这对于观看系统引导来说偶尔是有趣的,如果您正在进行内核调试,这几乎是必不可少的。(这需要内核支持和更新引导参数,以便内核知道您需要串行输出;请参阅第二部分的内容。)您可能更感兴趣的是通过串行端口登录,这需要在引导后在串行端口上运行getty(就像引导后系统已经在虚拟终端上运行getty一样),在howto中详细描述了这一点。

假设您正在/dev/tty1上执行此操作

在外壳中

chown *youruser* /dev/tty1
open PORT, "</dev/tty1" || die "Can't open port: $!";
while (defined ($_ = <PORT>))
{
 do_something($_);
}
close PORT;
然后在名为example.pl的Perl脚本中

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

open-PORT,“Hein,谢谢你的回答,但是你的意思有点不明确?minicom要连接到哪个特定的守护进程?还是两端都是minicom?