首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qemu -将tty设备从主机传递到客户机器

Qemu -将tty设备从主机传递到客户机器
EN

Unix & Linux用户
提问于 2022-10-01 03:17:41
回答 1查看 741关注 0票数 1

我的目标是在Qemu中将一个tty设备从主机传递给来宾。

我正试图模仿一个使用Qemu的ARM64 linux设备,该设备上插入了一个USB设备。到目前为止,我通过UDP将模拟数据传递到主机上的pts设备,从而模拟了USB设备,如下所示:

代码语言:javascript
复制
sudo socat -d -d UDP-L:14550 pty,link=/dev/ttyFAKEACM0,raw,echo=0

我可以在主机上使用minicom读取ttyACM0,并获取我期望的数据。

我希望将主机上的/dev/ttyFAKEACM0 0传递给来宾Qemu,并让它在来宾上显示为tty。我试图像这样使用-chardev:

代码语言:javascript
复制
  qemu-system-aarch64 \
  -m 4G \
  -smp 4 \
  -cpu cortex-a57 \
  -M virt -nographic \
  -kernel ${IMGDIR}/Image \
  -initrd ${IMGDIR}/uInitrd-5.7.0 \
  -append "root=/dev/vda1 serial=tty0 ubootpart=00000000-01 console=ttyAMA0,115200n8 rootwait init=/sbin/init rw earlyprintk rootfstype=ext4" \
  -drive if=none,id=mmc0,file=${IMGDIR}/edge-rootfs.img,index=1,format=raw \
  -device virtio-blk-device,drive=mmc0 \
  -chardev tty,path=/dev/ttyFAKEACM0,id=facm \
  -device pci-serial,chardev=facm 

当我启动Qemu时,ttyFAKEACM0根本没有出现在来宾中。我是不是误解了chardev的工作方式?如何将字符设备从主机传递给客人?

谢谢

EN

回答 1

Unix & Linux用户

发布于 2022-10-01 16:22:18

我也试图通过一个TTY设备从主机到客人。在我的例子中,它是一个USB适配器,控制器。

我成功地使用了Qemu USB仿真

代码语言:javascript
复制
-chardev serial,path=/dev/ttyACM0,id=acm \
-usb -device usb-serial,chardev=acm

客户以ttyUSB0的身份捕获了USB。

如果以"root“以外的其他用户身份运行,则可能需要调整设备的权限。在我的例子中,我为适配器、控制器创建了一个特殊的组,并相应地调整了权限;chmod g+rw /dev/ttyACM0

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/719351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档