diff options
author | Gaurav Shah <gauravsh@chromium.org> | 2011-12-06 12:01:51 -0800 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2011-12-06 15:59:07 -0800 |
commit | 59c4b30d00e08e27323c5615731bfba5a9fd9c86 (patch) | |
tree | 74494f42260f000026336b246a1af94a04d0875f | |
parent | 42d23c664dbd1334c82b48b504b7d8499955963d (diff) | |
download | vboot-59c4b30d00e08e27323c5615731bfba5a9fd9c86.tar.gz |
sign_official_build: Do not ignore the firmware version while re-signing firmware
Change https://gerrit.chromium.org/gerrit/12471 introduced a regression where by
we always sign a firmware with version 1.
This change fixes that bug.
BUG=chromium-os:23817
TEST=ran sign_official_build and made sure the firmware was signed with the
right firmware version.
Change-Id: I6c8d3e8b103f3f7329b7a4db5a78a8f1ce4415a2
Reviewed-on: https://gerrit.chromium.org/gerrit/12496
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Tested-by: Gaurav Shah <gauravsh@chromium.org>
Commit-Ready: Gaurav Shah <gauravsh@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
-rwxr-xr-x | scripts/image_signing/sign_firmware.sh | 12 | ||||
-rwxr-xr-x | scripts/image_signing/sign_official_build.sh | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/scripts/image_signing/sign_firmware.sh b/scripts/image_signing/sign_firmware.sh index 364a8c75..c15fbb96 100755 --- a/scripts/image_signing/sign_firmware.sh +++ b/scripts/image_signing/sign_firmware.sh @@ -12,14 +12,13 @@ SCRIPT_DIR=$(dirname $0) # Abort on error. set -e -FIRMWARE_VERSION=1 - -if [ $# -ne 3 ]; then +if [ $# -lt 3 ] || [ $# -gt 4 ]; then cat<<EOF -Usage: $0 <input_firmware> <key_dir> <output_firmware> +Usage: $0 <input_firmware> <key_dir> <output_firmware> [firmware_version] -Signs <input_firmware> with keys in <key_dir> and outputs signed firmware to -<output_firmware>. +Signs <input_firmware> with keys in <key_dir>, setting firmware version +to <firmware_version>. Outputs signed firmware to <output_firmware>. +If no firmware version is specified, it is set as 1. EOF exit 1 fi @@ -27,6 +26,7 @@ fi IN_FIRMWARE=$1 KEY_DIR=$2 OUT_FIRMWARE=$3 +FIRMWARE_VERSION=${4:-1} temp_fw=$(mktemp) trap "rm ${temp_fw}" EXIT diff --git a/scripts/image_signing/sign_official_build.sh b/scripts/image_signing/sign_official_build.sh index cc3d6af0..6cd18d8b 100755 --- a/scripts/image_signing/sign_official_build.sh +++ b/scripts/image_signing/sign_official_build.sh @@ -328,7 +328,7 @@ resign_firmware_payload() { # Resign the firmware with new keys, also replacing the root and recovery # public keys in the GBB. ${SCRIPT_DIR}/sign_firmware.sh ${shellball_dir}/bios.bin ${KEY_DIR} \ - ${temp_outfd} + ${temp_outfd} ${FIRMWARE_VERSION} # Note: Although sign_firmware.sh may correctly handle specifying the same # output file as the input file, we do not want to rely on it correctly # handing that. Hence, the use of a temporary file. |