| #!/bin/bash |
| |
| # Copyright (c) 2010 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 resign the kernel partition generated in the output of build_image |
| # with SSD keys. |
| |
| # Load common constants. This should be the first executable line. |
| # The path to common.sh should be relative to your script's location. |
| . "$(dirname "$0")/../common.sh" |
| |
| . "$(dirname "$0")/../chromeos-common.sh" # for partoffset and partsize |
| |
| locate_gpt |
| |
| DEFINE_string from "chromiumos_image.bin" \ |
| "Input file name of Chrome OS image to re-sign." |
| |
| # Parse command line |
| FLAGS "$@" || exit 1 |
| eval set -- "${FLAGS_ARGV}" |
| |
| # Abort on error |
| set -e |
| |
| if [ -z $FLAGS_from ] || [ ! -f $FLAGS_from ] ; then |
| echo "Error: invalid flag --from" |
| exit 1 |
| fi |
| |
| # Example commandline is as follows: |
| # ./bin/cros_resign_image.sh \ |
| #--from ../build/images/x86-generic/b903/chromiumos_ssd_image.bin \ |
| #--datakey ../platform/vboot_reference/tests/devkeys/kernel_data_key.vbprivk \ |
| #--keyblock ../platform/vboot_reference/tests/devkeys/kernel.keyblock \ |
| #--vsubkey ../platform/vboot_reference/tests/devkeys/kernel_subkey.vbpubk \ |
| #--vbutil_dir /usr/bin/ \ |
| #--to ../build/images/x86-generic/b903/chromiumos_ssd_test_image.bin |
| |
| |
| TMP_IMAGE=/tmp/image.bin |
| VBOOT_KEYS=$(dirname "$0")/../../platform/vboot_reference/tests/devkeys |
| cp $FLAGS_from $TMP_IMAGE |
| |
| $(dirname "$0")/cros_resign_image.sh \ |
| --from $TMP_IMAGE \ |
| --datakey ${VBOOT_KEYS}/kernel_data_key.vbprivk \ |
| --keyblock ${VBOOT_KEYS}/kernel.keyblock \ |
| --vsubkey ${VBOOT_KEYS}/kernel_subkey.vbpubk \ |
| --vbutil_dir /usr/bin/ \ |
| --to $FLAGS_from |
| |
| rm $TMP_IMAGE |
| |