我似乎在任何地方都找不到太多关于使用-serial unix:/path/to/some/file
参数 to 的文档qemu-system-XXXX
,所以我希望这里有人能对此有所启发。具体来说,我想知道将数据发送到主机上的此套接字并在 QEMU 来宾端接收数据的正确方法是什么。
更新: 作为测试,我使用 RHEL 8 主机和 Solaris 8 来宾。正如 LawrenceC 所建议的,我添加了这个-serial udp::xxxx
论点。我还编写了一个 C 程序来连接到 UDP 端口 XXXX 并向其写入一些内容。但是,我没有看到 RHEL 8 端通过nc -u -l -p xxx
. 我可能会缺少什么?
看来我对这种方法有一个根本性的误解,认为端口会在 QEMU 来宾上打开,但这只是将串行端口数据从来宾转换为主机上的本地 UDP 端口。
您是否尝试与终端程序交互地使用虚拟串行端口?如果是这样,
minicom
似乎能够让您与套接字而不是串行端口设备进行交互。来自https://www.man7.org/linux/man-pages/man1/minicom.1.html:如果您尝试使用程序向虚拟串口发送数据,请尝试使用 udp 选项,然后就可以使用 netcat。
如果您确实需要将 QEMU 的虚拟串行端口连接到 unix 套接字,请
socat
按照此处的建议进行尝试。QEmu -KVM 注释 包含此部分 Interaction based on Unix sockets ,它恢复了使用套接字的所有选项: