Initial flashing of Dasharo firmware can be done from Linux using flashrom with the internal programmer. This document describes the process of building, installing and running flashrom on Ubuntu 22.04.
Deploy using Dasharo Tools Suite
For simplicity we recommend using Dasharo Tools Suite to omit all compilation steps and deploy the Dasharo firmware seamlessly. Be sure to disable the BIOS lock in the AMI firmware setup utility:
- Go to
PCH IO Configuration
- Save changes and reset.
Now you are ready to use Dasharo Tools Suite (DTS):
- Boot Dasharo Tools Suite.
- Perform Dasharo installation.
This will flash the full image, including the Intel ME. The operation requires a hard reset of the platform. To perform a hard reset:
- Power off the platform. Note, it may not power off completely due to flashed ME.
- Disconnect power supply from the board when OS finishes all tasks after power off (the screen goes dark or black).
- Disconnect the RTC/CMOS battery OR clear the CMOS using the pin header located near memory slots. Wait about 10 seconds and unshort the pins.
- Connect the power supply back.
- The platform should power on normally now. You can connect the battery back if it was disconnected.
This concludes Dasharo deployment process using DTS.
Please follow generic guide for Dasharo flashrom fork.
Reading flash contents
Always prepare a backup of the current firmware image. To read from the flash
and save them to a file (
dump.rom), execute the following command:
flashrom -p internal -r dump.rom
Keep the backup for later recovery if needed.
To flash Dasharo on the platform, execute the following command - replace
with the path to the Dasharo image you want to flash, e.g.
If stock firmware is currently installed:
flashrom -p internal -w [path]
If Dasharo is currently installed, only the COREBOOT and IFWI partitions of the flash needs to be updated. Flash it using the following command:
flashrom -p internal -w protectli_vault_glk_v1.0.15.rom --fmap -i COREBOOT -i IFWI
This command also preserves Dasharo UEFI settings and the boot order.