gpt4 book ai didi

serial-port - QEMU 不会创建第二个串行端口(Ubuntu x86-64 guest 和主机)

转载 作者:行者123 更新时间:2023-12-04 07:56:31 24 4
gpt4 key购买 nike

我通过以下方式运行我的 QEMU 3.0.0 版:
x86_64-softmmu/qemu-system-x86_64 -m 2560 -hda img.qcow2 -serial pty -serial pty

我的主机是 Ubuntu Desktop 16.04,我的 guest 是全新的(即默认配置)Ubuntu Server 18.04。两者都是 x86-64。

启动后,QEMU 立即打印:

qemu-system-x86_64: -serial pty: char device redirected to /dev/pts/18 (label serial0)
qemu-system-x86_64: -serial pty: char device redirected to /dev/pts/19 (label serial1)

此外,info qtree(在 QEMU 的监视器中)的输出是:

[...]
dev: isa-serial, id ""
index = 1 (0x1)
iobase = 760 (0x2f8)
irq = 3 (0x3)
chardev = "serial1"
wakeup = 0 (0x0)
isa irq 3
dev: isa-serial, id ""
index = 0 (0x0)
iobase = 1016 (0x3f8)
irq = 4 (0x4)
chardev = "serial0"
wakeup = 0 (0x0)
isa irq 4
[...]

看来serial0serial1应该是完全一样的。
根据this site/dev/ttyS1应该用于iobase为0x2f8的串口,所以从上面的输出我推断应该使用serial1通过 /dev/ttyS1

我可以毫无问题地使用 guest 中的 /dev/ttyS0 和主机中的 /dev/pts/18。但是,我没有设法在 guest 中使用 /dev/ttyS1,而且在我看来 serial1 在 guest 中根本不存在。

在 guest 内部,dmesg | 的输出grep ttyS(根据 this answer 应显示现有串口):
[ 7.147289] 00:05:I/O 0x3f8 处的 ttyS0(irq = 4,base_baud = 115200)是 16550A

我错过了什么?为什么 serial1 在 guest 中似乎不存在?

最佳答案

我发现了我的错误。

因为 guest 启动需要很长时间(至少在我的机器上是这样),所以我总是立即使用 loadvm after_startup_snapshot

我现在尝试让访客通过启动,/dev/ttyS1 的重定向工作得很好。

关于serial-port - QEMU 不会创建第二个串行端口(Ubuntu x86-64 guest 和主机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52801787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com