Added key version incrementing to loops.
Completing the TODO was blocked by https://gerrit.chromium.org/gerrit/#/c/32458
BUG=None
TEST=Ran it
Change-Id: I4126b02f8b6658378e3cf8ed69082d6628d94668
Reviewed-on: https://gerrit.chromium.org/gerrit/33584
Tested-by: Kris Rambish <krisr@chromium.org>
Reviewed-by: Craig Harrison <craigdh@chromium.org>
Commit-Ready: Kris Rambish <krisr@chromium.org>
diff --git a/fm_and_key_version_test_prep.sh b/fm_and_key_version_test_prep.sh
index 5c07ab4..1cc04a2 100755
--- a/fm_and_key_version_test_prep.sh
+++ b/fm_and_key_version_test_prep.sh
@@ -49,16 +49,16 @@
ROOT_FS_DIR="${IMAGE_DIR}/rootfs"
STATEFUL_FS_DIR="${IMAGE_DIR}/stateful"
-[[ $FLAGS_updated_fm == */ ]] && FLAGS_updated_fm="${FLAGS_updated_fm%?}"
+[[ $FLAGS_updated_fm == */ ]] && FLAGS_updated_fm="${FLAGS_updated_fm}"
# Check we have all 5 new firmware binaries
-FM_VER_PREFIX=${FLAGS_firmware_ver%?}
+FM_VER_PREFIX=${FLAGS_firmware_ver}
info "Checking ${FLAGS_updated_fm} for binaries..."
-info "Using pattern: ${FLAGS_board}_${FM_VER_PREFIX}1.bin"
+info "Using pattern: ${FLAGS_board}_${FM_VER_PREFIX}.1.bin"
for i in 1 2 3 4 5
do
- BIN_FILE="${FLAGS_updated_fm}/${FLAGS_board}_${FM_VER_PREFIX}$i.bin"
+ BIN_FILE="${FLAGS_updated_fm}/${FLAGS_board}_${FM_VER_PREFIX}.${i}.bin"
if [ ! -f ${BIN_FILE} ]; then
die_notrace "Unable to locate ${BIN_FILE} firmware binary, exiting."
fi
@@ -90,7 +90,7 @@
cp ${IMAGE_UPDATER} ${WORKING_UPDATER}-test$i
chmod 755 ${WORKING_UPDATER}-test$i
- NEW_VER="${FLAGS_board}_${FM_VER_PREFIX}${i}"
+ NEW_VER="${FLAGS_board}_${FM_VER_PREFIX}.${i}"
FM_VER="Google_${NEW_VER}"
info "Updating the firmware version to ${FM_VER}"
sed -i "/^TARGET_FWID=/c TARGET_FWID=${FM_VER}" "${WORKING_UPDATER}-test$i"
@@ -133,6 +133,11 @@
cp tests/devkeys/* "${KEYS_DIR}"
cp scripts/keygeneration/* "${KEYS_DIR}"
+# Load keygeneration helper methods
+. "${KEYS_DIR}/common.sh"
+
+"${KEYS_DIR}"/create_new_keys.sh
+
# Enable firmware update
scripts/image_signing/tag_image.sh --from="${WORKING_DIR}/${IMAGE_NAME}" \
--update_firmware 1
@@ -161,7 +166,27 @@
info "Contents of the new lsb-release file"
more "${ROOT_FS_DIR}/etc/lsb-release"
cleanup
- # TODO run create_new_keys.sh
+ cd "${KEYS_DIR}"
+ if [[ ${i} == 1 ]]; then
+ load_current_versions
+ new_kern_ver=$(increment_version "${KEYS_DIR}" "kernel_version")
+ write_updated_version_file ${CURR_FIRMKEY_VER} ${CURR_FIRM_VER} \
+ ${CURR_KERNKEY_VER} ${new_kern_ver}
+ elif [[ ${i} == 2 ]]; then
+ "${KEYS_DIR}"/increment_kernel_data_key.sh "${KEYS_DIR}"
+ elif [[ ${i} == 3 ]]; then
+ "${KEYS_DIR}"/increment_kernel_subkey.sh "${KEYS_DIR}"
+ elif [[ ${i} == 4 ]]; then
+ "${KEYS_DIR}"/increment_firmware_data_key.sh "${KEYS_DIR}"
+ elif [[ ${i} == 5 ]]; then
+ load_current_versions
+ new_kern_ver=$(increment_version "${KEYS_DIR}" "kernel_version")
+ write_updated_version_file ${CURR_FIRMKEY_VER} ${CURR_FIRM_VER} \
+ ${CURR_KERNKEY_VER} ${new_kern_ver}
+ "${KEYS_DIR}"/increment_kernel_subkey_and_key.sh "${KEYS_DIR}"
+ "${KEYS_DIR}"/increment_firmware_data_key.sh "${KEYS_DIR}"
+ fi
+
SIGNED_IMAGE_NAME="chromiumos-key-image-${CHROMEOS_VER_PREFIX}${i}_signed.bin"
info "Resigning the image to ${SIGNED_IMAGE_NAME}..."
@@ -170,7 +195,7 @@
ssd "${WORKING_DIR}/${NEW_IMAGE_NAME}" \
"${KEYS_DIR}" \
"${WORKING_DIR}/${SIGNED_IMAGE_NAME}" \
- "${KEYSDIR}/key.versions"
+ "${KEYS_DIR}/key.versions"
info "Generating payload..."
cros_generate_update_payload --image="${WORKING_DIR}/${SIGNED_IMAGE_NAME}" \