Qemu
Libvirt:如何傳遞 qemu 命令行參數?
我有目前的 libvirt 1.2.20 我想通過 virt-manager 創建一些 qemu 標誌傳遞給我的機器。我編輯了文件並添加
</devices> <qemu:commandline> <qemu:arg value='-L pc-bios'/> </qemu:commandline> </domain>
但不起作用我也嘗試從 virsh 編輯
virsh edit domain
並放
<qemu:commandline> <qemu:arg value='-L pc-bios'/> </qemu:commandline>
但是給我這個錯誤
errore: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng Element domain has extra content: qemu:commandline Failed. Try again? [y,n,i,f,?]:
如何正確傳遞 qemu 命令行?謝謝
elbarna 自己的答案是獲取 libvirt(以及它的域 XML)“本機”支持的配置選項的方式。對於 libvirt 不支持的 qemu 命令行參數(以及更多),您需要在 ‘domain’ 根元素中包含 qemu 的 XML 命名空間聲明:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
如果你有
virt-xml
1.4.1(2017 年發布,所以現在應該很普遍)或在你的路徑中(由community/virt-install
Arch 提供),你可以使用:virt-xml $DOMAIN --edit --confirm --qemu-commandline '-my-args 1234' virt-xml $DOMAIN --edit --confirm --qemu-commandline 'env=MY-ENV=1234'
自動添加對應於 env vars 和/或 args 的 XML,包括命名空間。
--confirm
允許您在送出之前預覽更改。這比嘗試在 XML 命名空間中手動粘貼要方便得多,並且對我有用,即使
virsh edit
不再接受相同的手動更改。參考:https ://blog.wikichoon.com/2017/03/easy-qemu-commandline-passthrough-with.html