APU - Firmware Upgrade

Page content


as we all know, the apu’s from pcengines are eol. but it’s worth to bring the existing ones to the latest firmware. if you have openbsd running on your boxes, you can upgrade it with like this:

add packages

doas pkg_add -i flashrom pciutils

set hostname

based on apu version and mac of em0

type=$(dmesg |grep ^bios0: |tail -1 |sed 's/.*gines //')
mac=$(ifconfig em0 |awk '/lladdr/ {print $2}' |awk -F':' '{printf "%s-%s-%s\n",$4, $5, $6}')
echo "${type}-${mac}" |tee /etc/myname; hostname $(cat /etc/myname)


root@apu6-aa-bb-cc #

find apu version

doas dmesg |grep ^bios0:

get version

be careful that you pick the right version for your board

# APU 2
doas ftp -o /root/apu.rom https://blog.stoege.net/firmware/apu2_v4.19.0.1.rom

# APU 3
doas ftp -o /root/apu.rom https://blog.stoege.net/firmware/apu3_v4.19.0.1.rom

# APU 4
doas ftp -o /root/apu.rom https://blog.stoege.net/firmware/apu4_v4.19.0.1.rom

# APU 6
doas ftp -o /root/apu.rom https://blog.stoege.net/firmware/apu6_v4.19.0.1.rom

reboot in single user mode


Press F10 when prompted

boot -s

Fix Shell

mount -a -t nonfs
ldconfig -m /usr/local/lib

Flash ROM

flashrom -p internal -w /root/apu.rom

cold Reset

setpci -s 18.0 6c.L=10:10


  • press F10
  • fix/check settings

BIOS Settings

Boot order - type letter to move device to top.

  c mSATA
  a USB
  f iPXE
  d SATA
  e mPCIe1 SATA1 and SATA2

  r Restore boot order defaults
  n Network/PXE boot - Currently Enabled
  u USB boot - Currently Enabled
  t Serial console - Currently Enabled
  k Redirect console output to COM2 - Currently Disabled
  o UART C - Currently Enabled - Toggle UART C / GPIO
  p UART D - Currently Enabled - Toggle UART D / GPIO
  m Force mPCIe2 slot CLK (GPP3 PCIe) - Currently Disabled
  h EHCI0 controller - Currently Disabled
  l Core Performance Boost - Currently Enabled
  i Watchdog - Currently Disabled
  j SD 3.0 mode - Currently Disabled
  g Reverse order of PCI addresses - Currently Disabled
  v IOMMU - Currently Disabled
  y PCIe power management features - Currently Disabled
  w Enable BIOS write protect - Currently Disabled
  z Clock menu
  x Exit setup without save
  s Save configuration and exit

press ’s’ and reboot the apu


doas rm /root/apu.rom
doas pkg_delete flashrom pciutils && pkg_delete -a

Any Comments ?

sha256: 15af719819619caed67c607ea2173e12a3bf5e3b3e64f76413084dd09674fb11