diff options
author | Hung-Te Lin <hungte@chromium.org> | 2018-08-24 12:25:42 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-08-31 11:19:59 -0700 |
commit | ad02d85e4fe8c2f96cf7abd3db25eafda056952e (patch) | |
tree | 5cb2b64d743a7de8fb3b9ecf82e6c27bcf32a165 /tests/futility | |
parent | 75e3c5bb621cf26d7fd774a6603e224ad4120f59 (diff) | |
download | vboot-ad02d85e4fe8c2f96cf7abd3db25eafda056952e.tar.gz |
futility: cmd_update: Implement updater logic "TRY-RW" (--try)
In vboot2, to try one RW (unused) section on next boot, we have to:
- Find mainfw_act
- Select and update to the "other" slot
- Set system property fw_try_{next,count} values to try in next boot.
The new '--try' (-t) option can trigger the mode if available.
BUG=chromium:875551
TEST=make futil; tests/futility/run_test_scripts.sh $(pwd)/build/futility
futility update --emulation FILE -i IMAGE -t --sys_prop 0; # Updates to B.
futility update --emulation FILE -i IMAGE -t --sys_prop 1; # Updates to A.
BRANCH=None
Change-Id: I4b4662616a7181d2f37307238b7b80ae82369768
Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1188017
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'tests/futility')
-rwxr-xr-x | tests/futility/test_update.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/futility/test_update.sh b/tests/futility/test_update.sh index 873a6f56..9e8a6aa5 100755 --- a/tests/futility/test_update.sh +++ b/tests/futility/test_update.sh @@ -47,11 +47,17 @@ unpack_image "from" "${FROM_IMAGE}" # Generate expected results. cp -f "${TO_IMAGE}" "${TMP}.expected.full" cp -f "${FROM_IMAGE}" "${TMP}.expected.rw" +cp -f "${FROM_IMAGE}" "${TMP}.expected.a" +cp -f "${FROM_IMAGE}" "${TMP}.expected.b" "${FUTILITY}" load_fmap "${TMP}.expected.rw" \ RW_SECTION_A:${TMP}.to/RW_SECTION_A \ RW_SECTION_B:${TMP}.to/RW_SECTION_B \ RW_SHARED:${TMP}.to/RW_SHARED \ RW_LEGACY:${TMP}.to/RW_LEGACY +"${FUTILITY}" load_fmap "${TMP}.expected.a" \ + RW_SECTION_A:${TMP}.to/RW_SECTION_A +"${FUTILITY}" load_fmap "${TMP}.expected.b" \ + RW_SECTION_B:${TMP}.to/RW_SECTION_B test_update() { local test_name="$1" @@ -78,3 +84,12 @@ test_update "Full update" \ test_update "RW update" \ "${FROM_IMAGE}" "${TMP}.expected.rw" \ -i "${TO_IMAGE}" --wp=1 + +# Test Try-RW update (vboot2). +test_update "RW update (A->B)" \ + "${FROM_IMAGE}" "${TMP}.expected.b" \ + -i "${TO_IMAGE}" -t --wp=1 --sys_props 0 + +test_update "RW update (B->A)" \ + "${FROM_IMAGE}" "${TMP}.expected.a" \ + -i "${TO_IMAGE}" -t --wp=1 --sys_props 1 |