Initial deployment
This document describes the process of updating PC Engines coreboot firmware to Dasharo firmware based on EDK II (aka Dasharo (coreboot+UEFI)) or Dasharo (coreboot+SeaBIOS).
OS compatibility for Dasharo (coreboot+UEFI)
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.
- Ensure Firmware Write Protection is disabled in sortbootorder
- Boot into Dasharo Tools Suite
- Enter your DPP subscription credentials
- Select
Install Dasharo firmware
to check for updates - When asked to select your firmware branch, select DPP
When the deployment is finished, your device will reboot into Dasharo automatically.
The demo below shows the process of deploying Dasharo using DTS.
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.
-
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 thelsblk
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. ↩