Serial port QEMU主机和客户机之间的串行通信

Serial port QEMU主机和客户机之间的串行通信,serial-port,virtual-machine,communication,qemu,socat,Serial Port,Virtual Machine,Communication,Qemu,Socat,我正在尝试在QEMU主机(Debian Jessie x86_64)和来宾(也是Debian Jessie,但在ARM上)之间设置一对串行端口。除了串行端口部分,其他都可以工作 我对QEMU非常陌生,因此可能有更好的方法,但我在运行QEMU时测试了以下标志: -chardev tty,id=mytty,path=/dev/pts/2(/dev/pts/2&3与socat一起启动) -chardev pty,id=myptyQEMU打开一个pty,但当我尝试从主机读取或写入时,权限被拒绝 无论哪种

我正在尝试在QEMU主机(Debian Jessie x86_64)和来宾(也是Debian Jessie,但在ARM上)之间设置一对串行端口。除了串行端口部分,其他都可以工作

我对QEMU非常陌生,因此可能有更好的方法,但我在运行QEMU时测试了以下标志:

-chardev tty,id=mytty,path=/dev/pts/2
(/dev/pts/2&3与socat一起启动)

-chardev pty,id=mypty
QEMU打开一个pty,但当我尝试从主机读取或写入时,权限被拒绝


无论哪种情况,我都无法在我的客户机中找到端口/dev/pts为空,在/dev中只有tty和ttyAMA3。所以,我的问题是建立一般的沟通,我特别好奇我的客人的端口在哪里

我找到了解决我自己问题的办法。首先,设备树不完整,因此我需要添加3个额外的uart端口。这就是我无法在guest中找到端口的原因


第二,我需要告诉QEMU在其中一个端口上使用stdio:
-append。。。console=ttyAMA3
-串行mon:stdio
。然后,我可以使用
-serial pty
,将QEMUs ttyAMA*链接到主机上的pts/*上。

“我需要添加3个额外的uart端口”——请解释一下您是如何做到的?或者链接到解释这一点的资源?嗨,我正在使用-cdrom和-drive选项运行(在qemu机器上安装ubuntu),但我不知道如何查看串行端口输出。你能告诉我怎么做吗?