如何在Qubes OS 4.0中添加VM内核参数?

如何在Qubes OS 4.0中添加VM内核参数?

如何添加sysrq_always_enabledaudit=0QubesOS 4.0 中 AppVM 的内核参数?

/proc/cmdline虚拟机内部的 当前状态是:

[user@dev01-w-s-f-fdr28 ~]$ cat /proc/cmdline 
root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 nopat

答案1

长话短说:在 dom0 中运行:qvm-prefs --set vmnamehere kernelopts 'nopat sysrq_always_enabled audit=0'

在 Qubes OS (4.0) 中,如果您想为特定 VM(AppVM 或 TemplateVM)添加新的内核参数,您可以(只能?)从 dom0 执行此操作。

首先,查看已经添加了哪些内核参数(因为在设置新参数时需要指定它们),在dom0执行中:

$ qvm-prefs --get dev01-w-s-f-fdr28 kernelopts
nopat

dev01-w-s-f-fdr28是我的虚拟机的名称,但不要让它让您感到困惑)

请注意nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0(见OP)没有报告。您可以在文件中找到它们设置/usr/share/qubes/templates/libvirt/xen.xml,这不是您期望修改的内容:

[ctor@dom0 usr]$ grep -C1 'nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0' /usr/share/qubes/templates/libvirt/xen.xml
            {% if vm.kernel %}
                <cmdline>root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 {{ vm.kernelopts }}</cmdline>
            {% endif %}

要设置新的内核参数,您必须记住还要指定现有的内核参数(如--get上面报告的nopat),在dom0执行中:

$ qvm-prefs --set dev01-w-s-f-fdr28 kernelopts 'nopat sysrq_always_enabled audit=0'

验证,在dom0

$ qvm-prefs --get dev01-w-s-f-fdr28 kernelopts
nopat sysrq_always_enabled audit=0

重新启动VM(又名qube),然后在VM内部进行验证:

[user@dev01-w-s-f-fdr28 ~]$ cat /proc/cmdline 
root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 nopat sysrq_always_enabled audit=0

相关内容