Skip to content

Firmware update

The following documentation describes the process of Dasharo open-source firmware update. The update process may be different, depending on which firmware version is currently installed on your device. The currently installed firmware version can be checked with the following command in a Linux environment:

sudo dmidecode -t bios | grep Version

Alternatively, it can be checked in the BIOS Setup Menu.


Before proceeding, ensure that the firmware protections are disabled in Dasharo Security Options. Both BIOS boot medium lock and Enable SMM BIOS write protection should be unchecked. UEFI Secure Boot must be disabled as well (uncheck Attempt Secure Boot if Current Secure Boot State does not say Disabled). To apply changes you will need to reboot.

Please use one of the following environments to perform Dasharo update:

We recommend using the DTS.

Dasharo Tools Suite

DTS is already equipped with a correct flashrom build. Get Dasharo Tools Suite (DTS) ISO and burn it on a USB stick.

Since DTS v1.1.2 you may simply choose the firmware update option from the menu as described in DTS Firmware Update section and DTS will carry out all necessary operations (RECOMMENDED).

If you would like to do it manually you will need to download a firmware update binary. When you boot DTS from USB enter the shell from the menu and invoke following commands for v1.1.1 for example (you can find the links in the Releases section):


Or for DDR5 platform:


They will also work in any Linux terminal with wget installed. Then proceed with commands described in subsequent sections after.

Linux distribution of your choice

Linux distributions may not yet have the support for the newest chipsets in flashrom installed via package manager so building the flashrom from source may be inevitable. You may check if your flashrom supports the Z690 chipset by doing a dry run without firmware binary:

sudo flashrom -p internal

Example output of undetected chipset:

flashrom v1.2 on Linux 5.19.0-32-generic (x86_64)
flashrom is free software, get the source code at

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Cannot open file stream for /dev/mtd0
No DMI table found.
WARNING: No chipset found. Flash detection will most likely fail.
You may be running flashrom on an unknown laptop. We could not
detect this for sure because your vendor has not set up the SMBIOS
tables correctly. Some internal buses have been disabled for
safety reasons. You can enforce using all buses by adding
  -p internal:laptop=this_is_not_a_laptop
to the command line, but please read the following warning if you
are not sure.

Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and for details.

If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.

It means you cannot proceed with this flashrom version and you have to remove it using your package manager. Then follow the procedure for building the right flashrom is described in Build flashrom section in the Initial deployment documentation (note the procedure describes Ubuntu case only, your package manager and package names to install may be slightly different). We recommend to use Dasharo Tools Suite.

Example of good output:

flashrom v1.2-1031-g6b2061b on Linux 5.19.0-32-generic (x86_64)
flashrom is free software, get the source code at

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
No DMI table found.
Found chipset "Intel Z690".
Enabling flash write... SPI Configuration is locked down.
FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write.
FREG1: BIOS region (0x01000000-0x01ffffff) is read-write.
FREG2: Management Engine region (0x00001000-0x003d8fff) is read-write.
Enabling hardware sequencing because some important opcode is locked.
Found Programmer flash chip "Opaque flash chip" (32768 kB, Programmer-specific) on internal.
No operations were specified.

That means you are good to go.

Migrating SMBIOS unique data (optional)

Before flashing you may migrate your serial number and UUID as described in Initial deployment. Applicable to Dasharo v1.1.0 and later.

Version v1.1.0 or newer

Version v1.1.0 had to change the flashmap layout and requires usage of the procedure below when migrating from v1.0.0 or older.

Only the RW_SECTION_A and RW_SECTION_B partitions of the flash needs to be updated. Flash it using the following command:

flashrom -p internal -w [path] --fmap -i RW_SECTION_A -i RW_SECTION_B

To flash newer firmware the command described in the section below might be also used. But remember, in that case, all Dasharo UEFI settings will be lost. Also, the memory training procedure will have to be carried out again.

Version older than v1.1.0

In this case, the whole bios region must be updated.

flashrom -p internal -w [path] --ifd -i bios


Possible errors are described in the Generic deployment problems with flashrom