我正在尝试将USB摄像头添加到QEMU,以便可以为来宾操作系统进行虚拟化。我在/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
但我得到了#34;许可被拒绝"以下代码中的错误(13)。
fd = open("/dev/video0", O_RDWR | O_NONBLOCK, 0);
奇怪的是,这个错误只发生在我使用Virt-manager(libvirt)时。 QEMU由命令行运行时,问题消失。 反正有没有让所有设备访问libvirt中的QEMU?或者更多步骤来检查libvirt / qemu.conf?
答案 0 :(得分:0)
很长的镜头,但你有没有机会完成这个page on libvirt docs?
这是一个不同的问题,但在那里被陈述,禁用selinux是所需的步骤之一。
答案 1 :(得分:0)
提供访问权限的一个简单解决方法是将设备的所有权更改为libvirt-qemu。我已完成以下命令,Libvirt现在可以正常打开设备。
sudo chown libvirt-qemu /dev/video0