Configuring a Custom Qubes OS System

Hello everyone,

I have installed a minimal version of Qubes OS 4.2.3 (R4.2), based on Fedora 30, with the XFCE desktop environment on my laptop, which is equipped with a quad-core Intel i5 processor, 16 GB of RAM, and a 512 GB SSD.

This installation does not include:

  • Any TemplateVMs (fedora-40-xfce, debian-12-xfce, whonix-workstation-17, whonix-gateway-17, etc.)

  • Any ServiceVMs (sys-net, sys-firewall, sys-whonix, sys-usb, etc.)

  • Any AppVMs (anon-whonix, personal, untrusted, work, vault, etc.)

  • Any DispVMs (default-dvm, whonix-workstation-17-dvm, etc.)


Customization goals:

I would like to customize this system by adding:

• A minimal TemplateVM based on Fedora 40.

• A few SystemVMs or ServiceVMs:

  • sys-firewall

  • sys-net

  • sys-usb

• Several AppVMs:

  • An AppVM for system administration (XFCE terminal, XFCE task manager, system settings, etc.).

  • An AppVM for file management (Thunar, Mousepad, etc.).

  • An AppVM for office tasks (LibreOffice, Xarchiver, Xpdf, etc.).

  • An AppVM for graphics (GIMP, Ristretto, etc.).

  • An AppVM for applications requiring Internet access (Firefox, Thunderbird, Hexchat, Transmission, etc.).

  • An AppVM for multimedia (VLC, Audacity, Pavucontrol, etc.).

• A default DispVM based on Fedora.


Issue:

Since the system currently lacks a TemplateVM as well as the sys-net and sys-firewall ServiceVMs required for Internet access, how can I build a fully functional system from this minimal setup?

I have searched extensively on the Internet and on the Qubes OS forum but haven’t found any relevant tutorials or discussions.

I have an external Ventoy drive containing ISO files for various Fedora versions and other Linux distributions.

I can also download ISO files from my other connected devices and transfer them to the minimal Qubes OS system for offline installation, if necessary.


Important note:

I prefer using Qubes OS graphical tools as much as possible to minimize reliance on the command line.


Final question:

Could you provide a reliable, up-to-date, and functional tutorial, or guide me step by step on how to build the customized Qubes OS system I want, starting from this minimal Qubes OS 4.2.3 (R4.2) installation?

Thank you in advance for your help and suggestions!

You can install the templates directly from the install medium that you
used. They are installable using rpm -i
Once installed, you can the salt the service qubes that you want: e.g.
sudo qubesctl state.apply qvm.sys-net
Then just create the qubes that you want to have. Given your
requirements my approach would be to clone a minimal template and
install the software in to each clone - I do this using salt. I prefer
this approach to installing all the software in to one template, but
your view may be different. Let us know which way you want to go.
!

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

Hi Kara - and welcome to the forum!

Sounds like you choose not to run the initial setup and went for the experienced user approach.

If you read the source for /usr/libexec/initial-setup/initial-setup-graphical and the files below /usr/share/anaconda/addons/org_qubes_os_initial_setup/, then you should have all the steps you need to get the basic system running (ServiceVMs) and go from there.

The easy way to get a working system, would be to run the Initial Setup and install the ServiceVMs, by running

sudo /usr/libexec/initial-setup/initial-setup-graphical

:slight_smile:

IMHO, it would be a lot easier just to do a default (non-expert) installation where you allow the installer to create the standard service qubes and at least one default full template for you, download a minimal template, clone and customize it as you like, switch your qubes to the minimal template, then delete the original full template.

2 Likes

Thank you for your feedback.

I have performed several types of Qubes OS installations:

  1. Full installation: Qubes OS (Fedora 30) with Fedora 40, Debian 12, and Whonix 17.

  2. Installation without Debian: Qubes OS (Fedora 30) with Fedora 40 and Whonix 17.

  3. Installation without Debian and Whonix: Qubes OS (Fedora 30) with Fedora 40.

  4. Minimal installation: Qubes OS (Fedora 30) only.

I am an experienced Linux user (20 years of experience) but a beginner with Qubes OS. For installations 1, 2, and 3, everything works almost perfectly.

However, I would like to understand the customized (expert mode) configuration of Qubes OS.

First they need some templates installed.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.