Looking for Advice: Minimum Qubes Packages Needed for a Devuan Template?

Found this interesting thread: https://forum.qubes-os.org/t/alpine-linux-template-non-official-available-for-testing/

After reading through it, here’s my rough plan:

  1. Try using the patches from forge/qports: Packages for Alpine Linux template for QubesOS. See https://ayakael.net/forge/qubes-builder-alpine for template image. - Ayakael: My personal forge to build .deb packages and test core Qubes components (like qubes-core-agent-networking) in a Devuan HVM setup.

  2. If that works, move forward with building a full Devuan-based template and testing various features.

  3. Finalize the template build.

But my main uncertainty is :upside_down_face:: what’s the bare minimum set of Qubes packages/services needed on a Debian/Devuan base for things to work properly?

I’m fairly new to this, and I know this is a challenging undertaking. But I find it really interesting, and I think it could succeed—with help and guidance from everyone here. Any advice would mean a lot :innocent:!

4 Likes

Excercise:

  • download a minimal debian or fedora template
  • use the package manager to query files owned by a package (Fedora is better on that as it enfoces %files), or on debian, find packages that might contain “qubes” string (might be incomplete, imperfect)

Example (not on a minimal system):

% fd qubes /etc/systemd /usr/lib/systemd
/etc/systemd/system/multi-user.target.wants/qubes-apt-cacher-ng-repo.service
/etc/systemd/system/multi-user.target.wants/qubes-firewall.service
/etc/systemd/system/multi-user.target.wants/qubes-gui-agent.service
/etc/systemd/system/multi-user.target.wants/qubes-meminfo-writer.service
/etc/systemd/system/multi-user.target.wants/qubes-misc-post.service
/etc/systemd/system/multi-user.target.wants/qubes-mount-dirs.service
/etc/systemd/system/multi-user.target.wants/qubes-network-uplink.service
/etc/systemd/system/multi-user.target.wants/qubes-network.service
/etc/systemd/system/multi-user.target.wants/qubes-qrexec-agent.service
/etc/systemd/system/multi-user.target.wants/qubes-rootfs-resize.service
/etc/systemd/system/multi-user.target.wants/qubes-rsync-forwarder.socket
/etc/systemd/system/multi-user.target.wants/qubes-sync-time.timer
/etc/systemd/system/multi-user.target.wants/qubes-update-check.timer
/etc/systemd/system/multi-user.target.wants/qubes-updates-proxy-forwarder.socket
/etc/systemd/system/multi-user.target.wants/qubes-updates-proxy.service
/etc/systemd/system/network-pre.target.requires/qubes-antispoof.service
/etc/systemd/system/network-pre.target.requires/qubes-iptables.service
/etc/systemd/system/qubes-core-agent.service
/etc/systemd/system/sysinit.target.wants/qubes-db.service
/etc/systemd/system/sysinit.target.wants/qubes-early-vm-config.service
/etc/systemd/system/sysinit.target.wants/qubes-sysinit.service
/usr/lib/systemd/network/80-qubes-vif.link
/usr/lib/systemd/system/ModemManager.service.d/30_qubes.conf
/usr/lib/systemd/system/NetworkManager-wait-online.service.d/30_qubes.conf
/usr/lib/systemd/system/NetworkManager.service.d/30_qubes.conf
/usr/lib/systemd/system/anacron-resume.service.d/30_qubes.conf
/usr/lib/systemd/system/anacron.service.d/30_qubes.conf
/usr/lib/systemd/system/avahi-daemon.service.d/30_qubes.conf
/usr/lib/systemd/system/boot.automount.d/30_qubes.conf
/usr/lib/systemd/system/chronyd.service.d/30_qubes.conf
/usr/lib/systemd/system/cron.service.d/30_qubes.conf
/usr/lib/systemd/system/cups-browsed.service.d/30_qubes.conf
/usr/lib/systemd/system/cups.path.d/30_qubes.conf
/usr/lib/systemd/system/cups.service.d/30_qubes.conf
/usr/lib/systemd/system/cups.socket.d/30_qubes.conf
/usr/lib/systemd/system/exim4.service.d/30_qubes.conf
/usr/lib/systemd/system/getty@tty.service.d/30_qubes.conf
/usr/lib/systemd/system/netfilter-persistent.service.d/30_qubes.conf
/usr/lib/systemd/system/org.cups.cupsd.path.d/30_qubes.conf
/usr/lib/systemd/system/org.cups.cupsd.service.d/30_qubes.conf
/usr/lib/systemd/system/org.cups.cupsd.socket.d/30_qubes.conf
/usr/lib/systemd/system/qubes-antispoof.service
/usr/lib/systemd/system/qubes-apt-cacher-ng-repo.service
/usr/lib/systemd/system/qubes-db.service
/usr/lib/systemd/system/qubes-early-vm-config.service
/usr/lib/systemd/system/qubes-firewall.service
/usr/lib/systemd/system/qubes-gui-agent.service
/usr/lib/systemd/system/qubes-iptables.service
/usr/lib/systemd/system/qubes-meminfo-writer.service
/usr/lib/systemd/system/qubes-misc-post.service
/usr/lib/systemd/system/qubes-mount-dirs.service
/usr/lib/systemd/system/qubes-network-uplink.service
/usr/lib/systemd/system/qubes-network-uplink@.service
/usr/lib/systemd/system/qubes-network.service
/usr/lib/systemd/system/qubes-print-forwarder.service
/usr/lib/systemd/system/qubes-qrexec-agent.service
/usr/lib/systemd/system/qubes-rootfs-resize.service
/usr/lib/systemd/system/qubes-rsync-forwarder.socket
/usr/lib/systemd/system/qubes-rsync-forwarder@.service
/usr/lib/systemd/system/qubes-ssh-agent-forwarder@.service
/usr/lib/systemd/system/qubes-sync-time.service
/usr/lib/systemd/system/qubes-sync-time.timer
/usr/lib/systemd/system/qubes-sysinit.service
/usr/lib/systemd/system/qubes-update-check.service
/usr/lib/systemd/system/qubes-update-check.timer
/usr/lib/systemd/system/qubes-updates-proxy-forwarder.socket
/usr/lib/systemd/system/qubes-updates-proxy-forwarder@.service
/usr/lib/systemd/system/qubes-updates-proxy.service
/usr/lib/systemd/system/serial-getty@.service.d/30_qubes.conf
/usr/lib/systemd/system/sysinit.target.d/30_qubes.conf
/usr/lib/systemd/system/systemd-logind.service.d/30_qubes.conf
/usr/lib/systemd/system/systemd-random-seed.service.d/30_qubes.conf
/usr/lib/systemd/system/systemd-timesyncd.service.d/30_qubes.conf
/usr/lib/systemd/system/tinyproxy.service.d/30_not_needed_in_qubes_by_default.conf
/usr/lib/systemd/system/tmp.mount.d/30_qubes.conf
/usr/lib/systemd/system/tor.service.d/30_qubes.conf
/usr/lib/systemd/system/tor@default.service.d/30_qubes.conf
/usr/lib/systemd/system-preset/75-qubes-vm.preset
/usr/lib/systemd/user/evolution-addressbook-factory.service.d/30_qubes.conf
/usr/lib/systemd/user/evolution-calendar-factory.service.d/30_qubes.conf
/usr/lib/systemd/user/evolution-source-registry.service.d/30_qubes.conf
/usr/lib/systemd/user/evolution-user-prompter.service.d/30_qubes.conf
/usr/lib/systemd/user/tracker-extract-3.service.d/30_qubes.conf
/usr/lib/systemd/user/tracker-miner-fs-3.service.d/30_qubes.conf
/usr/lib/systemd/user/tracker-miner-fs-control-3.service.d/30_qubes.conf
/usr/lib/systemd/user/tracker-miner-rss-3.service.d/30_qubes.conf
/usr/lib/systemd/user/tracker-writeback-3.service.d/30_qubes.conf
/usr/lib/systemd/user/tracker-xdg-portal-3.service.d/30_qubes.conf
% dpkg -S /usr/lib/systemd/user/* 2>/dev/null | grep qubes
qubes-core-agent: /usr/lib/systemd/user/evolution-addressbook-factory.service.d
qubes-core-agent: /usr/lib/systemd/user/evolution-calendar-factory.service.d
qubes-core-agent: /usr/lib/systemd/user/evolution-source-registry.service.d
qubes-core-agent: /usr/lib/systemd/user/evolution-user-prompter.service.d
qubes-core-agent: /usr/lib/systemd/user/tracker-extract-3.service.d
qubes-core-agent: /usr/lib/systemd/user/tracker-miner-fs-3.service.d
qubes-core-agent: /usr/lib/systemd/user/tracker-miner-fs-control-3.service.d
qubes-core-agent: /usr/lib/systemd/user/tracker-miner-rss-3.service.d
qubes-core-agent: /usr/lib/systemd/user/tracker-writeback-3.service.d
qubes-core-agent: /usr/lib/systemd/user/tracker-xdg-portal-3.service.d
3 Likes

Thank you for doing this! I’m looking forward to installing Devuan in my Qubes.

I’m not an expert on this, but since Devuan is a Debian derivative, looking at the debian-minimal template might be your best bet.

Please keep us updated! :slight_smile:

:pray:Thanks for your reply, I will try.

Thank you for your reply,I will do my best.