How do I select a dvm template for my sys-qubes?

The dvm’s are just normal app qubes afaik with ‘template_for_dispvms’ set to ‘True’. It doesn’t show up as an option on the drop down menu for the sys-qubes. When I try to run the command qvm-prefs <specific sys-qube> template <specific dvm template> - I get the error message: qvm-prefs: error: wrong VM class: domains['deb-11-min-sys-dvm'] is of type AppVM and not TemplateVM.

You’re trying to set an ordinary appVM to use a DVM template as its template.

You can’t do that; all AppVMs must use a TemplateVM. To use a DVM template, you have to create a disposable virtual machine and have THAT use your DVM template, and that can be done one of two ways…if you want the DVM to have a permanent name, do: `qvm-create --class dispVM --label --template . You’ll then have an ordinary-looking qube that’s really a disposable, based on your template.

I can’t recall how to get it to create disposables named disp1234.

If you want to change the template used by a named disposable, change the
template used by the disposable template.

template → disposable template → disposable

The “disposable template” is the normal app qube with
‘template_for_dispvms’ set to ‘True’. Change the template used by

Depending on your naming scheme this might cause confusion. If, for
example, you named the disposable template “debian-11-dvm”.

I’m struggling to make a disposable qube off the dvm template. I tried the command you provided like this qvm-create --class dispVM --label red --template deb-11-min-sys-dvm sys-net1, but got this error message app: Error creating VM: Got empty response from qubesd. See journalctl in dom0 for details..

This is how I’ve set it up: deb-11-min-sys (standard template based on debian 11 minimal) → deb-11-min-sys-dvm (disposable template based off the standard template) → now what? How do I create a disposable sys-AppVM off the disposable template?

qvm-create -C DispVM -l red <sys-VMName>
qvm-prefs <sys-VMName> virt_mode hvm
qvm-service <sys-VMName> meminfo-writer off
qvm-pci attach --persistent <sys-VMName> dom0:<BDF>
qvm-prefs <sys-VMName> autostart true
qvm-prefs <sys-VMName> netvm ''
qvm-features <sys-VMName> appmenus-dispvm ''
qvm-prefs <sys-VMName> provides_network true

In Qube Manager, right click on sys-* qube > Settings > Advanced > Default disposable template choose from the drop-down menu deb-11-min-sys-dvm.

All of these you can do from GUI - Qube Manager.

Give some other name, or reboot then retry. Give us journalctl record as it says.

I totally overlooked the documentation because I was too focused on making a normal AppVM use a DVM template, which I now understand doesn’t work.

1 Like