有没有人成功地在 QEMU/KVM 中运行访客操作系统,其中访客可以完全访问主机串行端口,无论是 /dev/ttyS0、COM1 还是主机提供的虚拟串行端口。
似乎关于 -chardev、-serial 等的文档有点令人困惑(至少对我而言)。我的印象是,如果在启动来宾时传递了正确的参数,来宾操作系统将能够看到/使用串行端口。但是很多人说“不,串行端口仅用于 QEMU/KVM 中的来宾操作系统和主机之间的控制台重定向”......这没有意义,因为 QEMU/KVM 似乎是运行旧东西的好方法需要与 RS232 设备和类似设备通信。
另外,如果Host上没有物理串口,如何“创建一个”?目前,我正在使用 NetSerial,它实际上创建了一个“COM 端口”(带有一个“调制解调器”连接到它)。但 QEMU 似乎也不太喜欢这种结构。
小智 7
首先你需要为主机串口定义一个chardev并为其附加一个名称(id参数),如下所示:
-chardev tty,path=/dev/ttyUSB0,id=hostusbserial
Run Code Online (Sandbox Code Playgroud)
接下来,您必须将一些串行设备添加到您的虚拟机并将其链接到您刚刚创建的 chardev:
-device pci-serial,chardev=hostusbserial
Run Code Online (Sandbox Code Playgroud)
完毕。必须在来宾中配置线路速度等,qemu 将获取设置并将它们应用于主机串行端口。
该-serial命令开关是一个方便快捷方式,它会创建一个chardev并将其链接到默认串行端口(其为在x86和别的东西对于其它架构通常IOPORT 0x3f8一个ISA-串行设备)。
| 归档时间: |
|
| 查看次数: |
19285 次 |
| 最近记录: |