diff options
author | Kris Rambish <krisr@chromium.org> | 2012-09-06 15:58:37 -0700 |
---|---|---|
committer | Kris Rambish <krisr@chromium.org> | 2012-09-18 16:05:00 -0700 |
commit | 40d8651bb36048c9b5f07be97ff17b2cf503015e (patch) | |
tree | 69db93237dcb7fa4f163f0ce25084196e2173b2a /scripts/keygeneration/increment_kernel_subkey.sh | |
parent | 770c1b772c0aa9241bc2923354092a14e1c68661 (diff) | |
download | vboot-40d8651bb36048c9b5f07be97ff17b2cf503015e.tar.gz |
Add scripts to increment single fm/kernel keys.factory-2914.B
For firmware and kernel key increment testing we need to be able to
rev only particular keys and verify an autoupdate works.
BUG=None
TEST=Ran it
BRANCH=None
Change-Id: Ic814480b4bf8fbc994132fcd7ba519c3be9b0ccd
Reviewed-on: https://gerrit.chromium.org/gerrit/32458
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Kris Rambish <krisr@chromium.org>
Tested-by: Kris Rambish <krisr@chromium.org>
Diffstat (limited to 'scripts/keygeneration/increment_kernel_subkey.sh')
-rwxr-xr-x | scripts/keygeneration/increment_kernel_subkey.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/keygeneration/increment_kernel_subkey.sh b/scripts/keygeneration/increment_kernel_subkey.sh new file mode 100755 index 00000000..26af3fa4 --- /dev/null +++ b/scripts/keygeneration/increment_kernel_subkey.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Script to increment kernel subkey for firmware updates. +# Used when revving versions for a firmware update. + +# Load common constants and variables. +. "$(dirname "$0")/common.sh" + +# Abort on errors. +set -e + +if [ $# -ne 1 ]; then + cat <<EOF + Usage: $0 <keyset directory> + + Increments the kernel subkey in the specified keyset. +EOF + exit 1 +fi + +KEY_DIR=$1 + +main() { + load_current_versions + new_firm_ver=$(increment_version "${KEY_DIR}" "firmware_version") + + backup_existing_kernel_subkeys ${CURR_FIRM_VER} ${CURR_KERNKEY_VER} + backup_existing_kernel_data_keys ${CURR_FIRM_VER} ${CURR_KERNKEY_VER} + + cat <<EOF +Generating new kernel subkey, data keys and new kernel keyblock. + +New Firmware version (due to kernel subkey change): ${new_firm_ver}. +EOF + make_pair kernel_subkey ${KERNEL_SUBKEY_ALGOID} ${new_firm_ver} + make_pair kernel_data_key ${KERNEL_DATAKEY_ALGOID} ${CURRENT_KDATAKEY_VERSION} + make_keyblock kernel $KERNEL_KEYBLOCK_MODE kernel_data_key kernel_subkey + + write_updated_version_file ${CURR_FIRMKEY_VER} ${new_firm_ver} \ + ${CURR_KERNKEY_VER} ${CURR_KERN_VER} +} + +main "$@" |