Ben's notes

Linux, Unix, network, radio...

User Tools

Site Tools


PC Engines APU2 - BIOS Update

Download files

Prepare bootable USB drive

  • Make sure the USB drive is not mounted (lsblk or mount command).
  • Write TinyCore and BIOS image to USB:
    gunzip apu2-tinycore6.4.img.gz
    sudo dd if=apu2-tinycore6.4.img of=/dev/sdX bs=4k
    sudo mount /dev/sdX1 /mnt
    sudo tar zxf apu2_v4.6.9.rom.tar.gz -C /mnt
    sudo umount /mnt

Update BIOS

  • Connect USB drive to APU2
  • Connect APU2 via serial:
    screen /dev/ttyUSB0 115200
  • Connect power
  • Update BIOS, needed to force it, because difference in names: (PC Engines:PC Engines apu2):
    # cd /media/SYSLINUX
    # flashrom --programmer internal:boardmismatch=force -w apu2_v4.6.9.rom
    flashrom v0.9.8-r1888 on Linux 3.16.6-tinycore (i686)
    flashrom is free software, get the source code at
    Calibrating delay loop... OK.
    coreboot table found at 0xdffae000.
    Found chipset "AMD FCH".
    Enabling flash write... OK.
    Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0xff800000.
    This coreboot image (PC Engines:PC Engines apu2) does not appear to
    be correct for the detected mainboard (PC Engines:PCEngines apu2).
    Proceeding anyway because user forced us to.
    Reading old flash chip contents... done.
    Erasing and writing flash chip... Erase/write done.
    Verifying flash... VERIFIED.
pcengines_apu2_update_firmware_rom.txt · Last modified: 2021/10/09 15:14 by