Any news on OpenBSD? (Update: it works now)

I read here that a port of OpenBSD to MNT Reform was in progress.

Have there been any advancements in this regard ?

1 Like

also interested. whom do we pay?

not sure about current port status but I know @jcs has one coming as part of this post-crowdfund batch (or at least, so I assume from his tweets a month or two ago) so I imagine there’ll be a writeup and/or patches and/or other updates from him once he has the device

Wondering about this myself… although, not sure how it will happen given the license of the firmware required to run it…
Unless, this is an unofficial port… I think?

Bump. Anyone heard anything about OpenBSD for Reform?

This was posted just now, so there seems to be progress:

Yes, as of last night, it is possible to run OpenBSD on MNT Reform, thanks to the work of bluerise, cinap_lenrek and sigrid.

Currently you need to do some manual steps to try it out, which will be automated further in the future. Here’s a recipe that assumes you are booting your normal system from eMMC. If your Reform is set to boot from SD card, adjust some steps (we can actually make a fully automatic SD card image later, or someone can help out?).

(Edit: swapped step 1 and 2, that way it makes more sense).

1. Get OpenBSD for aarch64

Get an OpenBSD aarch64 image. For testing I used miniroot72.img from Index of /pub/OpenBSD/snapshots/arm64/

And flash it to SD card (you can also go with a USB stick, but haven’t tested for now):

dd if=miniroot72.img of=/dev/sdx status=progress

2. Build and flash our latest u-boot with support for graphical console and keyboard:

git clone
cd reform-boundary-uboot
cp mntreform-config .config

This will yield flash.bin. On your Reform, install it on eMMC (Warning: this might make your Reform unbootable from eMMC if something is done wrong, and will need to be recovered via SD card):

echo 0 > /sys/class/block/mmcblk0boot0/force_ro
dd if=flash.bin of=/dev/mmcblk0boot0 bs=1024 seek=33
echo 1 > /sys/class/block/mmcblk0boot0/force_ro

To flash u-boot to an SD card instead, do:

dd if=flash.bin of=/dev/sdx bs=1024 seek=33

(where sdx has to be replaced with your SD card device.)

3. Place a modified DTB file

There’s a hang related to PCIe in the OpenBSD boot process that needs to be fixed. For now, we use a DTB with disabled PCIe. You can download it here: openbsd-support/imx8mq-mnt-reform2.dtb · master · Reform / reform-boundary-uboot · GitLab

Mount the boot partition of your OpenBSD SD card and copy the imx8mq-mnt-reform2.dtb file onto it.

4. Boot it

Reboot your Reform. You should see an MNT logo and some u-boot output. Interrupt the boot process with a keypress. This will get you to the u-boot console.

Perform these steps to load the modified DTB and boot OpenBSD from the SD card (Edit: sorry, kernel and fdt addresses were swapped here):

load mmc 1:1 $fdt_addr_r imx8mq-mnt-reform2.dtb
load mmc 1:1 $kernel_addr_r efi/boot/bootaa64.efi
bootefi $kernel_addr_r $fdt_addr_r 

Normally this can work automatically (because we support distroboot) but we have to manually load the modified DTB for now.

This will launch the OpenBSD bootloader. We have to set a variable so quickly press space when the boot> prompt appears.

Then enter:

set tty fb0

And press enter again to boot.


Has anyone tried this with an sdcard?

I wrote miniroot72.img to /dev/sda, then dd flash.img, then mounted /dev/sda1 and copied the .dtb file.

I can boot and see the uboot console, but openbsd fails to boot with an “invalid device tree” error.


Sorry, I realize I swapped the arguments to bootefi in my writeup. It should be:

bootefi $kernel_addr_r $fdt_addr_r

It works! Thanks.

Should step 1 be after step 2?

1 Like

Yes, if you put them on SD card, that is true. I will shuffle the steps.

Hope it work on i.MX8MPlus chip set out of the box.

1 Like

May I ask how’s the general performance of OpenBSD on imx8mq? Does Xenocara is in a usable state?

As far as I know the Vivante GC7000 series GPU driver haven’t been port to OpenBSD so there will be no GPU. acceleration and I only found a video about OpenBSD on raspberry pi 4(it’s a 22 second video not a lots of information in it).