summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaurav Shah <gauravsh@chromium.org>2011-12-06 12:01:51 -0800
committerGerrit <chrome-bot@google.com>2011-12-06 15:59:07 -0800
commit59c4b30d00e08e27323c5615731bfba5a9fd9c86 (patch)
tree74494f42260f000026336b246a1af94a04d0875f
parent42d23c664dbd1334c82b48b504b7d8499955963d (diff)
downloadvboot-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-xscripts/image_signing/sign_firmware.sh12
-rwxr-xr-xscripts/image_signing/sign_official_build.sh2
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.