在libvirt下向QEMU添加新物理设备时的权限错误?

时间:2015-04-15 01:17:49

标签: qemu libvirt

我正在尝试将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?

2 个答案:

答案 0 :(得分:0)

很长的镜头,但你有没有机会完成这个page on libvirt docs

这是一个不同的问题,但在那里被陈述,禁用selinux是所需的步骤之一。

答案 1 :(得分:0)

提供访问权限的一个简单解决方法是将设备的所有权更改为libvirt-qemu。我已完成以下命令,Libvirt现在可以正常打开设备。

sudo chown libvirt-qemu /dev/video0