It’s a real pity, since nothing comes close security wise.
Download the most recent iso
Plug in a USB
$ sudo dd if=Qubes-R<YOUR_ISO_VERSION>-x86_64.iso of=/dev/sd<YOUR_USB_DRIVE> status=progress bs=1048576 && sync
Now start up the destination machine with the USB and follow the installer instructions.But for whatever reason the actual procedure is fraught with difficulties; and this is from someone who uses qubes daily and has installed and reinstalled qubes on multiple machines.
I've seen:
- multiple random installer freezes (hard shutoff, start again, 3rd try magically works, ?shrug?)
- USB drive overheating (apparently, according to forum posts, sdcards are incompatible with the installer, and some USBA drives are actually sd cards welded to boards... had to crack one open to see that was the failing point)
- incompatible hardware blocks (motherboard is compatible but digging deeper apparently the mobo's chipset is incompatible)
- successful installs freeze on login due to incompatible hardware (Broadcom wifi cards)
Also 8G is the real min req
Dom0, the admin qube, will gobble all of the 'minimum required 4G RAM', 8G will be sluggish with only one qube running, 16G+ should be the min req to use as intended
The best way to avoid headaches is follow the hardware compatibility list and go big on RAM: https://www.qubes-os.org/hcl/
Or buy certified hardware: https://www.qubes-os.org/doc/certified-hardware/
Once running, it sings.
For hardware and system's security QubesOS(i) is superb for isolation at the (virtual)machine layer. This talk(ii) from Micah Lee when 4.0 launched is a great overview/preview. It's my daily driver, and I find it indispensable.
For software security any standard linux distro you can utilize encrypted chroots(iii). This is how things like crouton(iv) work on ChromiumOS.
For library isolation you could utilise virtual environments like virtualenv for python. ( or nodenv(v) for 'Node libraries')
(i) https://www.qubes-os.org/
(ii) https://www.youtube.com/watch?v=f4U8YbXKwog
(iii) https://linux.die.net/man/1/chroot
(iv) https://github.com/dnschneid/crouton
(v) https://pypi.org/project/nodeenv/