Print error and exit if queueing capsule update fails. Mention that most
common case is enabled ME and print link to known issues describing it
in more details along with solution.
Modify cap_upd_tool mocking so we can test failures.
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
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>
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>
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>
Multiple changes:
- ask if user wants to continue if smmstore migration fails
- stop update if `flashrom` can't read flash in `set_flashrom_update_params`
- rework send_dts_logs function
- fix visible error when no network interface
- print link to docs if sending logs fails
- send logs to public hcl if DPP credentials don't work
- print path to created archive in case user wants to copy them manually
- add recovery/brick warnings and contact information in case flashing fails
- replace MinIO text displayed for users with 3mdeb server
- add fix for multiple FUM updates starting. Ask user if they want to start automatic update or go to main menu.
Less code duplication, add recovery information, in the future we can
add automatic recovery attempt (try to flash backup)
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
- Print path to archive with logs
- Print docs link on how to share logs if function failed
- Refactoring
- Fix cat error print when no network
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
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>
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>