Commit Graph

165 Commits

Author SHA1 Message Date
Michał Iwanicki
2f14745192 parse_config: add separate function to verify output and print errors
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-04 11:00:13 +02:00
Michał Iwanicki
9508e07ece dts-functions: parse_config: move error printing to function
To remove unnecessary code duplication

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-03 17:14:53 +02:00
Michał Iwanicki
aacac5f87c dts-functions: parse_config: use quotes so arguments work with spaces
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-03 16:51:57 +02:00
Michał Iwanicki
7e5bef3b7f dts-functions: nuc_box: remove any logic in board_config
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-03 16:31:10 +02:00
Michał Iwanicki
f53ce84f18 board_config: print error if unfilled system-manufacturer string
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-02 13:56:30 +02:00
Michał Iwanicki
73ae6d51c2 board_config: add checks for original fw platform strings
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-02 11:52:06 +02:00
Michał Iwanicki
2567c0ff63 board_config: add NovaCustom/NUC_BOX
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-09-01 16:41:27 +02:00
Michał Iwanicki
8e7a660783 dts-scripts: Enhance mocking for purposes of profile comparison
common-mock-func: set dmidecode to return 0 by default

if test variable isn't defined this likely means that this value
doesn't matter for test purposes.

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock-func: cbmem shouldn't exit in failure in normal check

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock-func: cbfstool: allow specifying fmap regions in binary

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

dts-functions: set_flashrom_update_params: don't use $1 directly

It's hard to know exactly what this argument is for otherwise as this
function isn't documented

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

deploy: don't use mktemp so profile arguments are always the same

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

dts-boot: create TEMP_DIR

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: cbfstool: return 1 if not coreboot

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

cbfstool: don't mock when we check update binary config

Except in some cases where we want to possibly test for identical
config between update binary and current firmware.

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

dasharo-deploy: add 2>>ERR_LOG_FILE redirection

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: cbmem: check if coreboot

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

dts-functions: download_keys: use 'mkdir -p' so it doesn't error out

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: add cbmem_common_mock which returns error if not coreboot

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: add msrtool and mei-amt-check common mock

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: ifdtool: call original ifdtool if used with update binary

Fixes situation on QEMU that results in user not being asked whether to
continue flashing without ME even though we want to test with ME enabled

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: flashrom: verify internal chip use

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: add bootsplash presence mocking

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: both flashrom and cbfstool allow writing over existing file

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: bootsplash region might exist without custom bootsplash

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

check_if_me_disabled: Don't use mocked functions with 'grep -q'

Otherwise grep will break pipe immediately after matching searched
string which will result in mocked function being immediately stopped
even before finishing. It also results in e.g. tool wrapper not writing
used command to profile

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: Add separate ME disabled and ME HAP disabled

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: add cbfstool smmstore mocking

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

common-mock: simplify fuse mock

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

dts-functions: check_if_boot_guard_enabled: hide rdmsr output

remove non-existent command, likely pasted by mistake

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>

include: hal: add cbfstool_add_firmware_section_mock

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>

use dont_mock instead of cbfstool_add_firmware_section_mock

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>

common-mock: rename regions to _regions

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-08-27 14:45:01 +02:00
Daniil Klimuk
0f5b449326 include: dts-functions.sh: fix booloader to bootloader
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:32:43 +02:00
Daniil Klimuk
5cfb3728fa include: dts-functions: correct Slim Bootloader variables
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:23 +02:00
Daniil Klimuk
8ab80ffac8 some Slim Bootloader support typos fix
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:23 +02:00
Daniil Klimuk
ad28aa6af8 include: dts-functions: show_main_menu: option 6 should appear only if
Dasharo firmware is installed

Transition is only possible from Dasharo firmware. If the stock firmware
installed - one should use Initial deployment.

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:22 +02:00
Daniil Klimuk
4bdeee0787 include: dts-functions.sh: make option 6 always visible
Othrwise we need to determine whether to display this option or not.

To make a transition, at least three things should be checked:
  1. Check, what firmware and platform we are running DTS on.
  2. Check, whether the current combination of platform x firmware has
     available transitions.
  3. Check, whether the firmware is available for download.

The first point is done by sourcing dts-nevironment.sh. The second is
done inside check_for_transition and requires running board_config. But
we cannot run board config every time we want, because it mey overwrite
some global variable or cause asking to choose your platform (for some
NovaCustom laptops). The third is not a problem.

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:22 +02:00
Daniil Klimuk
0ac2105879 add transition to Dasharo (Slim Bootloader+UEFI)
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:22 +02:00
Daniil Klimuk
c282a5ff3b add initial deployment for Dasharo (Slim Bootloader+UEFI)
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:22 +02:00
Michał Iwanicki
2c5e903585 dts-functions: curl: fail if server returns error code e.g. 404
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-08-04 17:42:38 +02:00
Artur Raglis
ac6af147a3 include/dts-functions.sh: introduce DTS_CONFIG_REF variable for CI tests
Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>
2025-08-04 17:32:09 +02:00
Michał Iwanicki
6e66e6aee7 Use variables instead of raw return values
Co-authored-by: Danik Klimuk <109155473+DaniilKl@users.noreply.github.com>
2025-06-11 13:16:30 +02:00
Michał Iwanicki
e920a02226 use FSREAD_TOOL instead of checking system directly
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-06-11 12:49:48 +02:00
Michał Iwanicki
de85b11e6e Return non-failure code in case of no update
Otherwise we are asked if we want to send logs to 3mdeb

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-06-11 11:56:15 +02:00
Michał Iwanicki
9bc55c161f Add transition workflow
As of now works only for PC Engines SeaBIOS->UEFI

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-06-11 11:30:30 +02:00
Michał Iwanicki
24fb11101f Use variables for return values instead of raw number
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-06-11 10:47:08 +02:00
Michał Iwanicki
054ea7a15a Add pcengines seabios update workflow
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-06-10 18:02:55 +02:00
Pawel Langowski
e664b2b606 dts-functions: Quick fix for parsing configs
Signed-off-by: Pawel Langowski <pawel.langowski@3mdeb.com>
2025-06-10 13:56:52 +02:00
Pawel Langowski
60dda46db8 dts-functions: Fix pre-commit
Signed-off-by: Pawel Langowski <pawel.langowski@3mdeb.com>
2025-06-10 11:43:20 +02:00