New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design mechanism for choosing allowed "hvm" value and matching templates #1736

Open
marmarek opened this Issue Feb 10, 2016 · 1 comment

Comments

Projects
None yet
2 participants
@marmarek
Member

marmarek commented Feb 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.img format compatibility. When someone create a VM based on some Linux template, private.img will be formatted as ext4 during 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.img format, because it simply doesn't use it.

Maybe some other use case for #1637?

@marmarek marmarek added this to the Release 4.0 milestone Feb 10, 2016

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Oct 16, 2017

Member

In the meantime 'hvm' property was renamed to 'virt_mode'

Member

marmarek commented Oct 16, 2017

In the meantime 'hvm' property was renamed to 'virt_mode'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment