QEMU主机和来宾之间的串行通信

时间:2016-02-29 14:41:51

标签: serial-port virtual-machine communication qemu socat

我正在尝试在我的QEMU主机(Debian Jessie x86_64)和guest(也是Debian Jessie,但在ARM上)之间建立一对串行端口。除串口部分以外的所有东西都可以工作。

我是QEMU的新手所以可能有更好的方法,但我在运行QEMU时测试了以下标志:

Scanner in = new Scanner(System.in); String userWords = ""; int number = 0; System.out.println("Enter words to build a sentence"); userWords = in.nextLine(); int i = 1; do { System.out.println(userWords); i++; } while (!(userWords.equals(null))); { System.out.println(userWords + " "); } (/ dev / pts / 2& 3与socat合作)

-chardev tty,id=mytty,path=/dev/pts/2 QEMU打开一个PTY但是当我尝试从主机读取或写入时获得权限被拒绝。

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

1 个答案:

答案 0 :(得分:1)

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

其次,我需要告诉QEMU将端口用作stdio:-append ... console=ttyAMA3-serial mon:stdio。然后,我可以使用-serial pty将QEMU ttyAMA *链接到主机上的pts / *。