这是我找到的向qemu传递参数的唯一方法:
不幸的是,url http://libvirt.org/schemas/domain/qemu/1.0现在只是返回一个404页,并且libvirt会自动删除这个部分。我似乎找不到任何信息的替代方案,甚至libvirt网站建议添加这个坏的模式!
还有另外一种方法来启用evdev pass--尽管没有qemu参数?
编辑:
我使用下面标记的解决方案解决了这个问题,但是需要注意的一点是,virsh总是会修剪掉xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0',除非域中某个地方有一个有效的标记。
发布于 2020-06-07 00:50:36
即使名称空间的URL是404,在域配置中使用它也是有效的,并且在libvirt主页上有文档记录:
此外,以下XML添加允许在启动域时(自0.8.3起)对提供给
qemu的命令行进行微调。为了使用XML添加,有必要发出一个xmlns:name名称空间请求(特殊的http://libvirt.org/schemas/domain/qemu/1.0属性),以获取C4;通常,命名空间被指定为qemu的名称。有了名称空间之后,就可以在域下添加元素,并根据需要经常重复以下子元素:qemu:arg在启动域时向qemu进程添加一个附加的命令行参数,这是由属性值的值给出的。qemu:env在启动域时向qemu进程添加了一个附加的环境变量,给出了属性名称和可选值中记录的名称-值对。
这也在libvirt中的不同地方进行了测试:
我在kvm域中测试了这个解决方案,将定义的开头更改为
在virsh -c qemu:///system edit 中。在随后的编辑中,这些更改仍然存在(但是,新的元素被移到文档的末尾)。
如果qemu抱怨一个未知参数,启动域也会失败:
↪ virsh -c qemu:///system start
error: Failed to start domain
error: Interner Fehler: qemu unexpectedly closed the monitor: qemu-system-x86_64: -unknown: invalid option注意,XML命名空间不需要是解决某事的网址可用。
https://unix.stackexchange.com/questions/591252
复制相似问题