Commit Graph

196 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 5a7bbdb3d3 common-mock-func: futility: fix check_vboot_keys function
Fix futility mocking & add GBB region only if we don't already use
WP_RO otherwise flashrom will complain on write as those 2 regions
overlap

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2025-08-27 14:46:34 +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 4bec2898cd Style and typos fixes
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:24 +02:00
Daniil Klimuk 3b792fbf85 include: hal: dts-hal: check_if_seabios: redirect cbfstool output to /dev/null
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:24 +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 d985b69e3b include: ha: dts-hal: check for payload functions should have only one
goal

This functions should check only for payloads. We do have another
function called "check_if_dasharo" for checking if we have Dasharo
firmware flashed.

Change the function names to adhere to the "check_if_dasharo" function.

Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:23 +02:00
Daniil Klimuk f559d8dc4b Fix pre-commit
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
Daniil Klimuk 7671d2d8ec include: dts-environment.sh: add BUCKET_DPP_SLIMUEFI
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:22 +02:00
Daniil Klimuk 5d93b0f7de include: dts-environment.sh: add bucket vars to the list
Signed-off-by: Daniil Klimuk <daniil.klimuk@3mdeb.com>
2025-08-06 15:15:22 +02:00
Michał Iwanicki a20dd69c48 Merge pull request #96 from Dasharo/curl-fail
Return error code if download fails e.g. with 404 code
2025-08-06 15:13:40 +02:00
Artur Raglis e6aacaf173 include/dts-environment.sh: fix default DTS_CONFIG_REF value
Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>
2025-08-05 14:21:52 +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