Whonix host operating system


There is already some discussion ongoing in the Whonix-Live mode thread but I guess a dedicated thread is more suitable.

What would you consider important for an (official) Whonix host OS?

Which OS should be used?
Similar to @Hexagon I would also suggest something debian based. Linux Mint is said to be the most user friendly for linux newbies but as far as I know the security track is not good.
However, Debian is usually not that up to date so it might not run on the latest and greatest hardware. Maybe using backports and tracking the vanilla kernel could help to some extend.
I think Fedora is more up to date but hence it also is more volatile and changes happen more often. Practically I don’t have much experiences with it.
There is already qubes-whonix and I would like to use Qubes but (in particular with the upcoming 4.0 version) hardware support will be even more of a problem.

UEFI and graphics drivers are the biggest issues I can think of and then maybe other drivers for ethernet, wifi … .
Tails and Knoppix work on most hardware I have so installing the same packages would probably solve most problems with drivers

Most stuff should happen in VMs.
For general usability maybe network manager and a browser for captive portals would be useful. This could maybe also be implemented in a VM; starts to look like Qubes then …

Full disk encryption should be mandatory. For this you either need an installer/tutorial or make an already encrypted image available with some setup utility where the user changes the master key and password, expands the image to fill the disk …

In general I think a hd image which is just transferred to an USB stick or normal hard drive would be the most useful. The advantage for the end user would be a rather easy setup (except maybe FDE) and using a host which does not spy on the user.
Disadvantages would be the need to download a likely big image, customization will be harder (not a disadvantage regarding anonymity), driver problems (but could be the same if you install manually), a higher workload for the devs.

Full Install ISO?

Yes. Tails does it somewhat like that?

Mixing with Fedora wouldn’t be my first choice. Because then users and developers have to know a little bit about both. (I am still hoping that Qubes will replace Fedora with Debian in dom0 eventually.)

That doesn’t mean I am against it. If someone is adamant about Whonix host operating system being based on Fedora, that’s better than nothing.

Qubes technically is a great host operating system. Specifically since it has superb Whonix support with Qubes-Whonix. Hardware support indeed is bad.

A Whonix host operating system would be somewhat reinventing Qubes. Maybe worth it due to hardware support. If it’s about hardware support, it would also be possible to port Qubes to VirtualBox or KVM or anything.

They specifically made this possible. Reference:

Yes. Like in Qubes, where even upgrading the host (called dom0 in Qubes) is partially done inside a VM. (Qubes host/dom0 has no networking. Upgrades are fetched within the UpdateVM.)

Mandatory sounds a bit hard. Sounds like patronizing users, an anti feature. I’d like default full disk encryption more.

Not a deal breaker either way. When someone contributes something as big as this, of course lots of freedom of choice has to be granted.


There is cryptsetup reencrypt. So the image could be encrypted by default and the masterkey and password would have to be changed by the user by using cryptsetup reencrypt. (Not totally sure. Would require research to confirm.)


I agree :slight_smile:

Yes, I was also thinking about cryptsetup-reencrypt but still some setup utility would be required to make this user friendly. In some thread here there was already a tutorial for something similar which used VirtualBox on Windows so the user can still look up something in case of errors.
You could also do it like this:
Download the image + setup script . Download some iso which has cryptsetup-reencrypt installed (I’m not sure if debian live isos ship with it). Attach image + iso + usb dongle/hard drive to the VM and boot it from the iso. Run the script which invokes cryptsetup-reencrypt, transfers the image to the usb/hdd and resizes the partitions so they fill the entire hard drive.
Another option would be to use an unencrypted images and the setup utility just creates an encrypted filesystem.
Just trying to gather some ideas …