I would like to setup a container to install Virtual Machine Manager and all the add-ons in order to setup Windows 11 VMs (for work) on a Silverblue or Kinoite OS. I will be following these setup instructions which will require root access for libvirtd. I’m new to Linux and containers so using Distroshelf has helped greatly. However, I don’t see an option to setup a rootful container in Distroshelf nor BoxBuddy. Assistance is greatly appreciated.
Also, what is the best base image to use for this? I’ll just be using this container for Virtual Machine Manager, Brave, and Filen apps. I’m thinking I should setup two containers, one with root for setting up Virtual Machine Manager and another container without root for installing Brave and Filen. So maybe two different base images as well since one of them needs to be a compatible image for root? Please confirm.
To assist you further, could you please clarify and confirm that the goal is to enable virtualization and use Virtual Machine Manager to manage the virtual machines?
If so, there is no need for containers and you should rather layer libvirtd or use sysexts. You can then install Virtual Machine Manager as a Flatpak. If you are not sure how to do this, we will provide instructions.
Yes, I need to enable virtualization and use Virtual Machine Manager to manage the VMs. Specifically I need to setup a VM that has Windows 11 and have UEFI and TPM 2.0 support. In the article I linked it says to install qemu-kvm libvirt virt-install virt-manager virt-viewer \edk2-ovmf swtpm qemu-img guestfs-tools libosinfo tuned.
However, I don’ need the commend line tools. If you recommend eliminanting something else due to just what I need please let me know.
I’m trying to stay away from laying on a new install of Silverblue so that is why I asked about using Distrobox to set it up.
I don’t understand sysexts but maybe that’s better. Can I also use that for two apps I need that are not available as Flatpaks? Also, if I use sysexts for all of the above do the apps get updated automatically?
I have no experience installing Windows in a virtual machine, so other folks could probably help here.
Currently, systemd system extensions (sysexts) are a work-in-progress/experimental project, and since you are probably a beginner, they may not be right for you yet. Take a look and if you think you can use them, you will avoid layering virtualization packages. Otherwise, the only option is layering.
For other software, I would suggest using Flatpaks from Flathub, if available. If not, try installing them in Toolbx or Distrobox. If this is not possible for some reason, you should probably build a dedicated container if one is not already available.
It looks to be something that could work, but I don’t know how to do it.
So there is no way of setting up a Distrobox root container using Distroshelf for the virt packages? Plus I will need to install VirtIO drivers for the Windows guests per the instructions I linked.
I know how to setup Windows in a Virtual Machine so that’s not a problem. I’m trying at all possible to not have to layer anything.
See the following, but be aware sysexts may not be functioning properly at this time.
There have been attempts to achieve this, but ultimately we rely on sysexts. If you’re interested in how we got there, check out the following:
We don’t have a sysext dedicated just to drivers, and I don’t know if it’s possible to create one. So, as far as I know, currently the only option for installing drivers is layering.
The following might be an option, but I don’t know if it’s suitable for Windows.
I wish I could use Boxes, but at this time they don’t support TPM 2.0 and that’s required for Windows 11.
I’ll just go ahead and layer what needs to be layered and get Virtual Machine Manager as a Flatpak.
So in this command:
$ sudo dnf install qemu-kvm libvirt virt-install virt-manager \edk2-ovmf swtpm qemu-img
I’ll need to layer all of it except virt-manager, correct? The flatpak Virtual Machine Manager doesn’t come with the rest of what is in that command, does it?
I don’t know if the edk2-ovmf and tuned packages are required for Windows guests, but you can install them as well. I’m also not familiar with VirtIO drivers for Windows guests.
Then install Virtual Machine Manager from the following link and restart.
Thank you for the information. Last question: What is the best base image to use for installing Brave and Filen? Filen is a cloud storage provider like Microsoft Onedrive. Those are the only two apps I need in a container.
You can try Brave from Flathub to see if it works for you. For other apps, if you type toolbox enter, a Fedora container will be created (if not already created) based on the version you are currently using, and you will be logged into it. You can probably install browsers in a toolbox container as well, but since I use browsers from Flathub, I haven’t tried it.
I have no experience with the GUI applications (Distroshelf or Boxbuddy) you mentioned, but if they give you a choice of which operating system container image to use, it’s probably better for consistency to stick with the version of Fedora you’re currently using.