Create a New Droplet

Create a FreeBSD minimal droplet.

A standard $5/month FreeBSD 12 x64 ZFS will do.

Add your own SSH keys for SSH access.

SSH Login

Copy the newly created droplet's IP address from the DO admin console and SSH into the server as root using the specific SSH key used when creating the droplet.

ssh -i /path/to/ssh_key root@

Replace /path/to/ssh_key with path to where the SSH is located, and with the actual droplet's public IP address.

Download OpenBSD Installer Image

Go to and download the appropriate installation image: minirootXX.fs, in this case I will be using amd64:

Also, get the sha256 signature file from the appropriate arch directory at:, in this case it's

Copy that URL and paste it on the command line on the droplet:



Check the content of the current directory:

root@freebsd:~ # ls -l
-rw-r--r--  1 root  wheel     1989 Apr 13 21:27 SHA256
-rw-r--r--  1 root  wheel  4915200 Apr 13 20:56 miniroot65.fs

Let's verify the installation image:

root@freebsd:~ # sha256 miniroot*.fs
SHA256 (miniroot65.fs) = 561a496c05e2faf0873d19589d225023a0dfa74b994a89541b3197ae6524ca66
root@freebsd:~ # cat SHA256 | grep miniroot65
SHA256 (miniroot65.fs) = 561a496c05e2faf0873d19589d225023a0dfa74b994a89541b3197ae6524ca66

All looks clear, we have a match.

System Preparation

Disable SWAP:

root@freebsd:~ # swapoff /dev/gpt/swap0

Stop geom debugging to write data into storage:

root@freebsd:~ # sysctl kern.geom.debugflags=0x10
kern.geom.debugflags: 0 -> 16

Write the Installation Image

With dd, very simple and fast

root@freebsd:~ # dd if=miniroot65.fs of=/dev/vtbd0 bs=512k
9+1 records in
9+1 records out
4915200 bytes transferred in 0.107778 secs (45604926 bytes/sec)

Access the droplet virtual console

Click on the ... and select Access console.

Take a note of the information status bar on the bottom of the console window and ...

Write Down some information

Droplet IP address, gateway, netmask (all are listed on the console). Get that info before the reboot.


Before terminating the SSH session, and while having the console open, reboot the box:

# reboot

OpenBSD Installation Process

Once the droplet reboots it'll drop straight into the OpenBSD installer.

Go through the standard OpenBSD installation procedure. Good readme here:

Use the networking info copied before during the installation procedure.

Once the installation procedure is finished reboot the droplet again and it should boot into a fresh installation of OpenBSD if everything went well.

Ansible Automation