| #!/bin/sh |
| |
| # Copyright (c) 2014 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. |
| |
| # Abort on error |
| set -e |
| |
| # This script is obsolete. The required functionality is now provided by the |
| # compiled futility executable, so all this does is invoke that. This wrapper |
| # should go away Real Soon Now. |
| |
| |
| # Which futility to run? |
| [ -z "$FUTILITY" ] && FUTILITY=futility |
| |
| # required |
| SRC_FD=$1 |
| DST_FD=$2 |
| FIRMWARE_DATAKEY=$3 |
| FIRMWARE_KEYBLOCK=$4 |
| DEV_FIRMWARE_DATAKEY=$5 |
| DEV_FIRMWARE_KEYBLOCK=$6 |
| KERNEL_SUBKEY=$7 |
| # optional |
| VERSION=$8 |
| PREAMBLE_FLAG=$9 |
| LOEM_OUTPUT_DIR=${10} |
| LOEMID=${11} |
| |
| if [ ! -e $DEV_FIRMWARE_KEYBLOCK ] || [ ! -e $DEV_FIRMWARE_DATAKEY ] ; then |
| echo "No dev firmware keyblock/datakey found. Reusing normal keys." |
| DEV_FIRMWARE_KEYBLOCK="$FIRMWARE_KEYBLOCK" |
| DEV_FIRMWARE_DATAKEY="$FIRMWARE_DATAKEY" |
| fi |
| |
| # pass optional args |
| [ -n "$VERSION" ] && VERSION="--version $VERSION" |
| [ -n "$PREAMBLE_FLAG" ] && PREAMBLE_FLAG="--flags $PREAMBLE_FLAG" |
| [ -n "$LOEM_OUTPUT_DIR" ] && LOEM_OUTPUT_DIR="--loemdir $LOEM_OUTPUT_DIR" |
| [ -n "$LOEMID" ] && LOEMID="--loemid $LOEMID" |
| |
| exec ${FUTILITY} sign \ |
| --signprivate $FIRMWARE_DATAKEY \ |
| --keyblock $FIRMWARE_KEYBLOCK \ |
| --devsign $DEV_FIRMWARE_DATAKEY \ |
| --devkeyblock $DEV_FIRMWARE_KEYBLOCK \ |
| --kernelkey $KERNEL_SUBKEY \ |
| $VERSION \ |
| $PREAMBLE_FLAG \ |
| $LOEM_OUTPUT_DIR \ |
| $LOEMID \ |
| $SRC_FD \ |
| $DST_FD |
| |
| echo UNABLE TO EXEC FUTILITY 1>&2 |
| exit 1 |