【发布时间】:2015-06-20 19:25:57
【问题描述】:
我正在尝试向 QEMU 添加一个 USB 摄像头,以便可以为来宾操作系统虚拟化它。我在 /etc/libvirt/qemu.conf 中添加了以下项目。
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
...
"/dev/rtc", "/dev/hpet", **"/dev/video0",**
]
另外,我已经安装了 cgroup 控制器,如下所示。
mkdir /dev/cgroup
mount -t cgroup none /dev/cgroup -o devices
但我在以下代码中收到“权限被拒绝”错误 (13)。
fd = open("/dev/video0", O_RDWR | O_NONBLOCK, 0);
奇怪的观察是这个错误只在我使用 Virt-manager(libvirt) 时发生。通过命令行运行 QEMU 时,该问题消失。 无论如何,是否可以让所有设备访问 libvirt 中的 QEMU?或者还有什么步骤可以检查 libvirt/qemu.conf?
【问题讨论】:
-
由于我只对开发 QEMU 后端驱动程序而不是 Linux 安全感兴趣,因此任何工程配置解决方案都可以。