Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upDesign mechanism for choosing allowed "hvm" value and matching templates #1736
Comments
marmarek
added
C: core
P: major
task
labels
Feb 10, 2016
marmarek
added this to the Release 4.0 milestone
Feb 10, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment
Hide comment
|
In the meantime 'hvm' property was renamed to 'virt_mode' |
andrewdavidwong
modified the milestones:
Release 4.0,
Release 4.1
Mar 31, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
marmarek commentedFeb 10, 2016
In core2 (Qubes R2, R3.0, R3.1) that was simple: for PV - PV template, for HVM - HVM template.
Since in Qubes 4.0, being HVM domain is just a property, which can be even changed in domain lifetime, it gets trickier.
For example Linux VM, when have bootloader installer, can be booted as either HVM or PV. Even it may be mixed - some VMs based on the same template can be PV, others - HVM.
But for Windows VMs - the only option is to boot as HVM. Trying to boot it as PV would fail.
Also for some systems, the only option is PV, booting as HVM would fail - for example Mirage OS.
So we need some mechanism to detect/decide whether system installed in some VM (either its template, or its own root.img in case of StandaloneVM) does support PV or HVM.
The other issue is
private.imgformat compatibility. When someone create a VM based on some Linux template,private.imgwill be formatted asext4during first startup. But after changing its template to some Windows installation, it would not recognize filesystem there. The same applies the other way around.On the other hand - Mirage OS template can be used regardless of
private.imgformat, because it simply doesn't use it.Maybe some other use case for #1637?