Commit Graph

157 Commits

Author SHA1 Message Date
Daniil Klimuk
f4cdb258ad add TEST_ROMHOLE_CBFS_MIGRATION
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2026-01-20 19:45:49 +01:00
Daniil Klimuk
6ab3a0bb15 scripts: dasharo-deploy: add ROMHOLE migration to CBFS
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2026-01-20 19:45:19 +01:00
Daniil Klimuk
11c5c46bb8 scripts: dasharo-deploy: add ORMHOLE migration to update and Heads
trasition workflows

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2026-01-20 14:10:17 +01:00
Mateusz Kusiak
3b88b776b9 Merge pull request #139 from Dasharo/heads_trans
Add a last resort check for validating flashrom jobs. For regular updates, check if the regions to update are not locked. For heads update, always check if FD, ME, and BIOS regions are flashed and if FE and ME are unlocked.

Fixes: https://github.com/Dasharo/dasharo-issues/issues/1536
2026-01-16 14:20:04 +01:00
Michał Iwanicki
26828e4183 common-mock: mock btg_key_validator so we can test failure states
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-01-14 12:23:08 +01:00
Michał Iwanicki
872a402298 dasharo-deploy & btg_key_validator: reword error messages
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-01-14 12:23:08 +01:00
Michał Iwanicki
6f974e8f6a dasharo-deploy: fuse_workflow: add btg signature verification
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-01-14 12:23:08 +01:00
Michał Iwanicki
a58890d6f9 btg_key_validator: Parse arguments, add error checks
* Add argument parsing
* allow passing expected key hash and firmware file to check.
* Add error checks
* Download expected key hash from dts-configs repository instead of
  hardcoding

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-01-14 12:23:08 +01:00
Michał Iwanicki
f343c45024 dts-profile: set ERR_LOG_FILE to '/dev/null'
This is to allow using some functions in source `$DTS_FUNCTIONS`
without entering dts-boot first e.g. board_config.

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-01-14 12:23:08 +01:00
Michał Iwanicki
80a0877961 dts-boot & dts-profile: move path exports to dts-profile
That way there won't be duplication which we might forgot to update.
Before this change, sourcing "$DTS_ENV" in shell connected to via ssh
wasn't possible as "$DTS_HAL" was empty, which resulted in ssh session
ending.

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-01-14 12:23:08 +01:00
Mateusz Kusiak
43c159bcb0 Dasharo-deploy: Pass arrays instead of namerefs
Use arrays instead of namerefs in helper functions related to
dasharo-deploy. The reason is this is easier to read.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2026-01-07 12:40:58 +01:00
Mateusz Kusiak
e2bf4cc948 Dasharo-deploy: Make functions generic
Split region verification flow into multiple, smaller helper functions
and make them more generic to be reusable.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2026-01-07 12:40:28 +01:00
Mateusz Kusiak
2472a3b8b5 dasharo-deploy: Add sanity check before flash
This commit adds last resort check before performing any flashrom
commands. For heads update, we shall not proceed if FD or ME is locked.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2025-12-19 15:01:01 +01:00
Mateusz Kusiak
247164f877 dasharo-deploy: document deploy_firmware
This commit adds a bunch of comment to deploy_firmware() so the function
is more readable.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2025-12-18 16:03:16 +01:00
Mateusz Kusiak
baeeefcc84 dasharo-deploy: tansition and recovery: fd first
Add wrapper function for transition and recovery workflows that detects
if fd is being flashed, and if so, runs dedicated flashrom job for FD
flashing.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2025-12-18 12:16:05 +01:00
Mateusz Kusiak
3a490cd84f dasharo-deploy: Use param arrays
For the scheduling to work reliably, the parameters must be stored as
arrays, not as strings. Use dynamic arrays for adding flashrom
parameters. Additionally improve fd flashing detection mechanism.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2025-12-17 11:27:10 +01:00
Mateusz Kusiak
b8e1278ed9 dasharo-deploy: use progress bar for flashrom
Use progress bar for flashrom jobs instead of printing messages. Add
scheduling info for remaining fobs.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2025-12-15 11:26:32 +01:00
Mateusz Kusiak
e4d32c2014 dasharo-deploy: Flash FD first
If FD is to be flashed, flash the FD before flashing anything else. The
reason is regions are FD dependent.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2025-12-15 11:21:25 +01:00
Mateusz Kusiak
22a682e947 dasharo-deploy: schedule flashrom jobs
Instead of executing flashrom in place, schedule them and execute one
after another. This is basically a workaround for fragmented flashrom
parameter logic. This way we know all flashrom jobs before executing
them.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
2025-12-15 11:21:25 +01:00
Michał Iwanicki
6bbdd30ab5 scripts/dasharo-deploy: fix migration logic, can't use fmap with ifd
Trying to use flashrom with both `--fmap` and `--ifd` results in:

```
Error: --fmap and --ifd both specified. Aborting
```

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-12-12 10:13:43 +01:00
Michał Kopeć
19bc0b2e7d scripts/btg_key_validator: fix logic errors
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2025-12-05 15:52:05 +01:00
Michał Kopeć
80b9fc4cf2 scripts/btg_key_validator: Add to Makefile
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2025-12-05 15:27:04 +01:00
Michał Kopeć
7a08c11ee0 scripts/btg_key_validator: add script for verifying the current BtG key
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2025-12-05 14:43:05 +01:00
Michał Iwanicki
ef667ec7b2 Use ask_for_confirmation function when asking for user choice
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-29 15:50:54 +02:00
Michał Iwanicki
ba25f29449 Add FUM, smmstore and flash layout mocking
Related to changes and fixes done in v2.7.1

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-29 12:19:22 +02:00