OPNsense Upgrade

How to upgrade the OPNsense Firmware for PC Engine APUs.

OPNsense Upgrade
PC Engine APU 2C4 with open lid

This post is kind of a reminder for me because I forgot basically everything about how I installed OPNsense on my hardware.

I am currently running a PC Engine APU 2C4 with OPNsense 21.7.8. This is the last release for 21.7 and I need to upgrade to 22.1.

I remember that I installed OPNsesnse with the filesystem UFS and that they introduced ZFS later on. So I want to switch to that while doing the update.

I also remember that there was some kind of firmware flashing going on. So let's dive in.

Firmware upgrade

After some search engine foo I found the firmware page again:

PC Engines - github pages

There is also a linked markdown file hosted on GitHub which has the instructions to flash the firmware:

apu2-documentation/firmware_flashing.md at master · pcengines/apu2-documentation
Documentation and scripts for building and adjusting PC Engines APU2 firmware - apu2-documentation/firmware_flashing.md at master · pcengines/apu2-documentation

My current firmware as of today:

[email protected]:~ # dmidecode -s bios-version
v4.13.0.4

The latest mainline version is v4.15.0.2 and that is where I am going to.

I am using the APU firmware updater script, which is mentioned here:

apu2-documentation/firmware_flashing.md at master · pcengines/apu2-documentation
Documentation and scripts for building and adjusting PC Engines APU2 firmware - apu2-documentation/firmware_flashing.md at master · pcengines/apu2-documentation

So I just followed the steps provided in the markdown file:

  1. Login via SSH to your OPNsense firewall.
  2. Open vi apu_fw_updater_opnsense.sh and paste script content into the editor.
  3. Adjust the value for the version. In my case: VERSION="4.15.0.2"
  4. Set the correct type, e.g. TYPE="apu2".
  5. Make the script executable using chmod +x apu_fw_updater_opnsense.sh.
  6. Execute the script ./apu_fw_updater_opnsense.sh.

OPNsense upgrade

The OPNsense upgrade itself was straightforward from the GUI. It took quite some time but everything went smooth.

I also wanted to migrate to ZFS as well, but I am too lazy for this right now and everything is working just fine. So this is a problem for my future self.

Starting to figure out the same problems over and over again is getting tedious therefore I just write this down for my future me. Maybe someone else will benefit from this as well.

Have a great day!