Autotest: firmware_UpdateKernelVersion and firmware_UpdateKernelDataKeyVersion
These two tests individually modify kernel version and kernel data key version.
On runtime, they modify kernel b directly, and reboot. Then, check the version,
and recovery.
BUG=chrome-os-partner:12442
TEST=run_remote_tests.sh --remote=$REMOTE_IP --board=$BOARD --servo
firmware_UpdateKernelVersion(or firmware_UpdateKernelDataKeyVersion)
Change-Id: Ic3ad3caed47ed6cdffc41d6df6f4696b74d350b7
Reviewed-on: https://gerrit.chromium.org/gerrit/31208
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Commit-Ready: Chun-Ting Chang <ctchang@chromium.org>
Tested-by: Chun-Ting Chang <ctchang@chromium.org>
diff --git a/client/cros/faft_client.py b/client/cros/faft_client.py
index 12863a8..d3c88a9 100644
--- a/client/cros/faft_client.py
+++ b/client/cros/faft_client.py
@@ -472,6 +472,17 @@
"""Increase kernel version for the requested section."""
self._modify_kernel_version(section, 1)
+
+ def retrieve_kernel_version(self, section):
+ """Return kernel version."""
+ return self._kernel_handler.get_version(section)
+
+
+ def retrieve_kernel_datakey_version(self, section):
+ """Return kernel datakey version."""
+ return self._kernel_handler.get_datakey_version(section)
+
+
def diff_kernel_a_b(self):
"""Compare kernel A with B.
@@ -551,7 +562,7 @@
'RW_FWID_A'))
[fwid] = self.run_shell_command_get_output(
- 'eu-strings RW_FWID_A')
+ "cat RW_FWID_A | tr '\\0' '\\t' | cut -f1")
return fwid
@@ -657,6 +668,16 @@
return self._temp_path
+ def get_keys_path(self):
+ """Get keys path in temporary directory."""
+ return self._keys_path
+
+
+ def resign_kernel_with_keys(self, section, key_path=None):
+ """Resign kernel with temporary key."""
+ self._kernel_handler.resign_kernel(section, key_path)
+
+
def cleanup(self):
"""Cleanup for the RPC server. Currently nothing."""
pass