Whonix Desktop Installer with Calamares - field report

I would not know. I was only addressing this:

Certainly good to avoid the extra complexity of interacting with another build system we don’t need it.

You mean https://github.com/onions-knight/whonix-stuff/blob/master/ok/whonix-iso-maker.sh?

I am eager to have that build step 2550_create_iso to create a bootable iso added to Whonix source code ASP. :slight_smile:

Then I’d implement --target iso which would run the build process as usual.

[And I would add skipping build-steps that don’t apply; 1150_export-libvirt-xml; 2375_build_rpi_fs; 2400_convert-raw-to-qcow2 2500_convert-raw-to-vdi; 2500_convert-raw-to-vdi; 2600_create-vbox-vm; 2700_create-vm-text; 2800_create-report]

  • Could you add licensing comment on top of the script please?
  • And/or add license to repository?
  • Or send pull request to https://github.com/Whonix/Whonix/tree/master/help-steps [with the usual license header]?
  • #create_squashfs_ok is currently out commented. Why’s that?
  • Also other functions are out commented currently which is a bit confusing.

[not sure yet if help-step or build-steps.d but it is easily moved later on]

Once it is in Whonix/help-steps I can easily make it use variables rather than hardcoded strings such as for CHROOT_FOLDER, ISO_FILE, and whatnot. Also re-use code for (un)mount-raw (if possible, sensible, probably yes).

The would be step one. A hardened debian iso which can be live booted.
Would look probably like this: sudo ~/Whonix/whonix_build --flavor hardened-debian --target iso --build

But that’s not a Whonix-Duo Installer ISO yet. So step two would be to implement --flavor whonix-duo-xfce-kvm which would install a different meta package whonix-duo-xfce-kvm. (1700_install-packages)

Therefore a new package whonix-duo-xfce-kvm needs to be added to anon-meta-packages. What packages whonix-duo-xfce-qcow2 should depend on? Could you send a pull request for anon-meta-packages please or let me know which packages it should depend on?

  • I guess the usual KVM dependencies qemu-kvm libvirt-daemon-system libvirt-clients virt-manager,
  • and calamares?
  • Anything else?

Then we’d have a bootable Whonix-Duo Live Installer ISO with calamares installer, KVM dependencies, but not Whonix KVM images yet. I am not sure yet how to best get the Whonix KVM images installed on Whonix-Duo (host) during the build process. See my idea to package Whonix KVM images as [Help Welcome] KVM Development - staying the course - #289 by Patrick deb packages.
sudo apt-mark hold whonix-gateway-xfce-qcow2
sudo apt-mark hold whonix-workstation-xfce-qcow2

whonix-duo-xfce-kvm package dependencies:

  • qemu-kvm libvirt-daemon-system libvirt-clients virt-manager
  • calamares
  • whonix-gateway-xfce-qcow2 whonix-workstation-xfce-qcow2

The “more final” build process to create Whonix-Duo-KVM would then be:

  • build Whonix-Gateway XFCE qcow2 / Whonix-Workstation XFCE qcow2
  • build packages whonix-gateway-xfce-qcow2 whonix-workstation-xfce-qcow2
  • build --flavor whonix-duo-xfce-kvm

(I’d automate this with a step outside of whonix_build, there’d be a wrapper calling whonix_build multiple times.)

Does that make sense so far?

1 Like