About me: My name is Solène Rapenne, pronouns she/her. I like learning and sharing knowledge. Hobbies: '(BSD OpenBSD Qubes OS Lisp cmdline gaming security QubesOS internet-stuff). I love percent and lambda characters. Qubes OS core team member, former OpenBSD developer solene@. No AI is involved in this blog.

Contact me: solene at dataswamp dot org or @solene@bsd.network (mastodon).

I'm a freelance OpenBSD, FreeBSD, Linux and Qubes OS consultant, this includes DevOps, DevSecOps, technical writing or documentation work. If you enjoy this blog, you can sponsor my open source work financially so I can write this blog and contribute to Free Software as my daily job.

Install OpenBSD in Qubes OS

Written by Solène, on 03 June 2023.
Tags: #qubesos #openbsd

Comments on Fediverse/Mastodon

1. Introduction §

Here is a short guide explaining how to install OpenBSD in Qubes OS, as an HVM VM (fully virtualized, not integrated).

2. Get OpenBSD §

Download an ISO file to install OpenBSD, do it from an AppVM. You can use the command cksum -a sha256 install73.iso in the AppVM to generate a checksum to compare with the file SHA256 to be found in the OpenBSD mirror.

3. Create a Qube §

In the XFCE menu > Qubes Tools > Create Qubes VM GUI, choose a name, use the type "StandaloneVM (fully persistent)", use "none" as a template and check "Launch settings after creation".

4. Configuration §

In the "Basic" tab, configure the "system storage max size", that's the storage size OpenBSD will see at installation time. OpenBSD storage management is pretty limited, if you add more space later it will be complicated to grow partitions, so pick something large enough for your task.

Still in the "Basic" tab, you have all the network information, keep them later (you can open the Qube settings after the VM booted) to configure your OpenBSD.

In "Firewall rules" tab, you can set ... firewall rules that happens at Qubes OS level (in the sys-firewall VM).

In the "Devices" tab, you can expose some internal devices to the VM (this is useful for networking VMs).

In the "Advanced" tab, choose the memory to use and the number of CPU. In the "Virtualization" square, choose the mode "HVM" (it should already be selected). Finally, click on "Boot qube from CD-ROM" and pick the downloaded file by choosing the AppVM where it is stored and its path. The VM will directly boot when you validate.

5. Installation §

The installation process is straightforward, here is the list (in order of appearance) of questions that require a specific answer:

  • choose network device xnf0 to configure
  • set the IPv4 address given in the Qube network information
  • set the netmask to 255.0.0.0
  • there is no IPv6 (well, it's possible in Qube but I let you have fun)
  • Default IPv4 route is given in the Qube network information
  • DNS nameservers are the two addresses in the Qube network information
  • Use the disk sd0
  • Format the disk using MBR (Xen doesn't support UEFI it seems)
  • Sets are located in cd0

Whether you reboot or halt the VM, it will be halted, so start it again.

6. Enjoy §

You should get into your working OpenBSD VM with functional network.

Be careful, it doesn't have any specific integration with Qubes OS like the clipboard, USB passthrough etc... However, it's a HVM system, so you could give it an USB controller or a dedicated GPU.

7. Conclusion §

It's perfectly possible to run OpenBSD in Qube OS with very decent performance, the setup is straightforward when you know where to look for the network information (and that the netmask is /8 and not /32 like on Linux).