To switch from OpenWrt to OPNsense, first boot into U-Boot by stopping autoboot (hit any key).

Configure a persistent OPNsense boot environment. This is required only once:

Hit any key to stop autoboot:  0
=> setenv opnsense "load mmc 0:1 ${kernel_addr_r} kernel.img; load mmc 0:1 ${fdt_addr_r} dtb/mono-gateway-dk.dtb; booti 0x82000000 - 0x88000000"
=> setenv bootcmd_bak ${bootcmd}
=> setenv bootcmd "run opnsense || run recovery"
=> saveenv

Erase the eMMC. This is required each time you flash a new image:

=> mmc erase 0 3b48000

Then boot into recovery:

=> run recovery

Once in recovery, enter root as the username (no password).

Download the OPNsense image and verify it as explained in the official OPNsense docs.
Then transfer it to Gateway using a USB flash drive (plug it into the center port):

# mount /dev/sda1 /media
# bzip2 -dck /media/OPNsense-26.1.*-arm-aarch64-GATEWAY.img.bz2 | dd of=/dev/mmcblk0 bs=1M

Once it's done flashing:

# reboot
Name Size Modified
..
OPNsense-26.1.5-arm-aarch64-GATEWAY.img.bz2 1.63 GB 2026-03-28 01:14
OPNsense-26.1.5-arm-aarch64-GATEWAY.img.sig 695 Bytes 2026-03-28 01:14
OPNsense-26.1.5-checksums-aarch64-GATEWAY.sha256 120 Bytes 2026-03-28 01:14
OPNsense-26.1.5-checksums-aarch64-GATEWAY.sha256.sig 695 Bytes 2026-03-28 01:14
OPNsense-26.1.pub 800 Bytes 2026-03-26 23:28
OPNsense-26.1.pub.sig 695 Bytes 2026-03-26 23:28
README.md 1.06 KB 2026-03-28 02:11