Skip to content

Initial deployment

This document describes the process of updating PC Engines coreboot firmware to Dasharo firmware based on EDK II.

OS compatibility

Switching from BIOS to UEFI-based firmware might cause compatibility issues if you already had an operating system installed on your platform. Some OSs can handle the switch without any issues, while others may need to be reinstalled. We have tested the update on several operating systems. The results are available in the test results spreadsheet and in the table below:

OS Can be booted from UEFI
Ubuntu ❌
OPNSense ✔
pfSense ❌
OpenWrt Depends1

Initial flashing of Dasharo firmware can be done from Linux using flashrom with the internal programmer.

Deploy using Dasharo Tools Suite

For simplicity we recommend using Dasharo Tools Suite to omit all manual compilation and flashing steps, and deploy Dasharo seamlessly.

When the deployment is finished, your apu will reboot into Dasharo automatically.

The demo below shows the process of deploying Dasharo using DTS.

asciicast

Manual installation

The steps below describe the process of manual installation of Dasharo on your apu.

Build flashrom

Please follow generic guide for flashrom building, or install it from the OS' package manager (minimum supported version is v1.0).

Reading flash contents

Always prepare a backup of the current firmware image. If you are using DTS, the backup will be made automatically with HCL report. When deploying manually, to read from the flash and save it to a file (dump.rom), execute the following command:

flashrom -p internal -r dump.rom

Flashing Dasharo

To flash Dasharo on the platform, execute the following command - replace <variant> with the APU variant (2, 3, 4 or 6) and <version> with the Dasharo image version, e.g. v0.9.0 or v24.02.01.01 or v4.0.34.

flashrom -p internal -w pcengines_apu<variant>_<version>.rom

After the operation is successful, reboot the platform.


  1. Depending on installed image, can be booted from UEFI or has to be reinstalled. The image types are listed in the OpenWrt documentation. If you used a *-combined-efi image, then you can boot it from UEFI. Otherwise, you need to reinstall OpenWrt using such image. If you do not remember which image you used or if you got it from another source, you should check whether your disk has an EFI system partition (ESP). You can check it by executing the lsblk command:

    lsblk -f
    

    If your disk has a small FAT16 or FAT32 partition at the beginning, then it's likely the ESP:

    vda1
       vfat   FAT16 kernel       1234-ABCD
    

    If there are no FAT partitions, then you need to reinstall OpenWrt.