futility: stop using the symlink names in utility scripts
We still create the symlinks (FOO -> futility), but this
change invokes those built-in functions with "futility FOO ..."
instead of using the FOO symlink.
Note that the scripts/ directory is unchanged. That's a
separate CL, since we don't have tests for that.
BUG=chromium:231547
BRANCH=ToT
TEST=make runtests
In addition to running "make runtests", I temporarily
modified the Makefile to avoid creating the symlinks at all.
The tests still passed.
Change-Id: I96863259b9df02a3611f759a7509bf4090ae03e8
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/216717
Reviewed-by: Randall Spangler <rspangler@chromium.org>
diff --git a/tests/common.sh b/tests/common.sh
index 5ae5629..5a96343 100644
--- a/tests/common.sh
+++ b/tests/common.sh
@@ -10,6 +10,7 @@
ROOT_DIR="$(dirname ${SCRIPT_DIR})"
BUILD_DIR="${BUILD}"
BIN_DIR="${BUILD_DIR}/install_for_test"
+FUTILITY=${BIN_DIR}/futility
TEST_DIR="${BUILD_DIR}/tests"
TESTKEY_DIR=${SCRIPT_DIR}/testkeys
TESTCASE_DIR=${SCRIPT_DIR}/testcases
diff --git a/tests/gen_fuzz_test_cases.sh b/tests/gen_fuzz_test_cases.sh
index 97c2230..9ca2043 100755
--- a/tests/gen_fuzz_test_cases.sh
+++ b/tests/gen_fuzz_test_cases.sh
@@ -26,19 +26,21 @@
echo "Generating key blocks..."
# Firmware key block - RSA8192/SHA512 root key, RSA4096/SHA512 firmware
# signing key.
- ${BIN_DIR}/vbutil_keyblock --pack ${TESTCASE_DIR}/firmware.keyblock \
+ ${FUTILITY} vbutil_keyblock \
+ --pack ${TESTCASE_DIR}/firmware.keyblock \
--datapubkey ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk \
--signprivate ${TESTKEY_DIR}/key_rsa8192.sha1.vbprivk
# Kernel key block - RSA4096/SHA512 kernel signing subkey, RSA4096/SHA512
# kernel signing key.
- ${BIN_DIR}/vbutil_keyblock --pack ${TESTCASE_DIR}/kernel.keyblock \
+ ${FUTILITY} vbutil_keyblock \
+ --pack ${TESTCASE_DIR}/kernel.keyblock \
--datapubkey ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk \
--signprivate ${TESTKEY_DIR}/key_rsa4096.sha1.vbprivk \
--flags 15
echo "Generating signed firmware test image..."
- ${BIN_DIR}/vbutil_firmware \
+ ${FUTILITY} vbutil_firmware \
--vblock ${TESTCASE_DIR}/firmware.vblock \
--keyblock ${TESTCASE_DIR}/firmware.keyblock\
--signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
@@ -49,7 +51,7 @@
cp ${TESTKEY_DIR}/key_rsa8192.sha512.vbpubk ${TESTCASE_DIR}/root_key.vbpubk
echo "Generating signed kernel test image..."
- ${BIN_DIR}/vbutil_kernel \
+ ${FUTILITY} vbutil_kernel \
--pack ${TESTCASE_DIR}/kernel.vblock.image \
--keyblock ${TESTCASE_DIR}/kernel.keyblock \
--signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
diff --git a/tests/gen_test_keys.sh b/tests/gen_test_keys.sh
index 5575cd5..79fabf1 100755
--- a/tests/gen_test_keys.sh
+++ b/tests/gen_test_keys.sh
@@ -38,14 +38,14 @@
do
alg=$((${key_index} * 3 + ${alg_index}))
# wrap the public key
- ${BIN_DIR}/vbutil_key \
+ ${FUTILITY} vbutil_key \
--pack "${key_base}.sha${sha_type}.vbpubk" \
--key "${key_base}.keyb" \
--version 1 \
--algorithm ${alg}
# wrap the private key
- ${BIN_DIR}/vbutil_key \
+ ${FUTILITY} vbutil_key \
--pack "${key_base}.sha${sha_type}.vbprivk" \
--key "${key_base}.pem" \
--algorithm ${alg}
diff --git a/tests/gen_test_vbpubks.sh b/tests/gen_test_vbpubks.sh
index 3f8dee1..8ea2759 100755
--- a/tests/gen_test_vbpubks.sh
+++ b/tests/gen_test_vbpubks.sh
@@ -15,7 +15,7 @@
do
for hashalgo in ${hash_algos[@]}
do
- ${BIN_DIR}/vbutil_key --pack \
+ ${FUTILITY} vbutil_key --pack \
--in ${TESTKEY_DIR}/key_rsa${keylen}.keyb \
--out ${TESTKEY_DIR}/key_rsa${keylen}.${hashalgo}.vbpubk \
--version 1 \
diff --git a/tests/load_kernel_tests.sh b/tests/load_kernel_tests.sh
index 74e91e4..c7c0dc1 100755
--- a/tests/load_kernel_tests.sh
+++ b/tests/load_kernel_tests.sh
@@ -25,18 +25,18 @@
dd if=/dev/urandom bs=32768 count=1 of="dummy_kernel.bin"
# Pack kernel data key using original vboot utilities.
-${BIN_DIR}/vbutil_key --pack datakey.test \
+${FUTILITY} vbutil_key --pack datakey.test \
--key ${TESTKEY_DIR}/key_rsa2048.keyb --algorithm 4
# Keyblock with kernel data key is signed by kernel subkey
# Flags=5 means dev=0 rec=0
-${BIN_DIR}/vbutil_keyblock --pack keyblock.test \
+${FUTILITY} vbutil_keyblock --pack keyblock.test \
--datapubkey datakey.test \
--flags 5 \
--signprivate ${SCRIPT_DIR}/devkeys/kernel_subkey.vbprivk
# Kernel preamble is signed with the kernel data key
-${BIN_DIR}/futility vbutil_kernel \
+${FUTILITY} vbutil_kernel \
--pack "kernel.test" \
--keyblock "keyblock.test" \
--signprivate ${TESTKEY_DIR}/key_rsa2048.sha256.vbprivk \
@@ -46,10 +46,10 @@
--bootloader "dummy_bootloader.bin" \
--config "dummy_config.txt"
-echo 'Verifying test kernel using vbutil_kernel'
+echo 'Verifying test kernel'
# Verify the kernel
-${BIN_DIR}/futility vbutil_kernel \
+${FUTILITY} vbutil_kernel \
--verify "kernel.test" \
--signpubkey ${SCRIPT_DIR}/devkeys/kernel_subkey.vbpubk
@@ -67,7 +67,7 @@
# And verify it using futility
echo 'Verifying test disk image'
-${BIN_DIR}/futility verify_kernel disk.test \
+${FUTILITY} verify_kernel disk.test \
${SCRIPT_DIR}/devkeys/kernel_subkey.vbpubk
happy 'Image verification succeeded'
diff --git a/tests/run_preamble_tests.sh b/tests/run_preamble_tests.sh
index 80deebb..df2f54f 100755
--- a/tests/run_preamble_tests.sh
+++ b/tests/run_preamble_tests.sh
@@ -41,7 +41,8 @@
fi
: $(( tests++ ))
echo -n "${what} fw_${d}_${r}.vblock with root_${rr}.vbpubk ... "
- "${BIN_DIR}/vbutil_firmware" --verify "${V2DIR}/fw_${d}_${r}.vblock" \
+ "${FUTILITY}" vbutil_firmware \
+ --verify "${V2DIR}/fw_${d}_${r}.vblock" \
--signpubkey "${DATADIR}/root_${rr}.vbpubk" \
--fv "${DATADIR}/FWDATA" >/dev/null 2>&1
if [ "$?" "$cmp" 0 ]; then
@@ -68,7 +69,8 @@
fi
: $(( tests++ ))
echo -n "${what} kern_${d}_${r}.vblock with root_${rr}.vbpubk ... "
- "${BIN_DIR}/vbutil_kernel" --verify "${V2DIR}/kern_${d}_${r}.vblock" \
+ "${FUTILITY}" vbutil_kernel \
+ --verify "${V2DIR}/kern_${d}_${r}.vblock" \
--signpubkey "${DATADIR}/root_${rr}.vbpubk" >/dev/null 2>&1
if [ "$?" "$cmp" 0 ]; then
echo -e "${COL_RED}FAILED${COL_STOP}"
@@ -86,7 +88,7 @@
for r in $algs; do
: $(( tests++ ))
echo -n "verify kern_${d}_${r}.vblock with hash only ... "
- "${BIN_DIR}/vbutil_kernel" \
+ "${FUTILITY}" vbutil_kernel \
--verify "${V2DIR}/kern_${d}_${r}.vblock" >/dev/null 2>&1
if [ "$?" -ne 0 ]; then
echo -e "${COL_RED}FAILED${COL_STOP}"
diff --git a/tests/run_vbutil_kernel_arg_tests.sh b/tests/run_vbutil_kernel_arg_tests.sh
index 9558ca5..95317ec 100755
--- a/tests/run_vbutil_kernel_arg_tests.sh
+++ b/tests/run_vbutil_kernel_arg_tests.sh
@@ -44,7 +44,8 @@
while [ "$b" -lt "${#BOOT_VALS[*]}" ]; do
echo -n "pack kern_${k}_${b}.vblock ... "
: $(( tests++ ))
- "${BIN_DIR}/vbutil_kernel" --pack "${TMPDIR}/kern_${k}_${b}.vblock" \
+ "${FUTILITY}" vbutil_kernel \
+ --pack "${TMPDIR}/kern_${k}_${b}.vblock" \
--keyblock "${KEYBLOCK}" \
--signprivate "${SIGNPRIVATE}" \
--version 1 \
@@ -68,7 +69,7 @@
: $(( tests++ ))
vv=$(basename "$v")
echo -n "verify $vv ... "
- "${BIN_DIR}/vbutil_kernel" --verify "$v" >/dev/null
+ "${FUTILITY}" vbutil_kernel --verify "$v" >/dev/null
if [ "$?" -ne 0 ]; then
echo -e "${COL_RED}FAILED${COL_STOP}"
: $(( errs++ ))
@@ -77,7 +78,7 @@
fi
: $(( tests++ ))
echo -n "verify $vv signed ... "
- "${BIN_DIR}/vbutil_kernel" --verify "$v" \
+ "${FUTILITY}" vbutil_kernel --verify "$v" \
--signpubkey "${SIGNPUBLIC}" >/dev/null
if [ "$?" -ne 0 ]; then
echo -e "${COL_RED}FAILED${COL_STOP}"
@@ -99,7 +100,7 @@
USB_SIGNPUBKEY="${DEVKEYS}/recovery_key.vbpubk"
echo -n "pack USB kernel ... "
: $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
--pack "${USB_KERN}" \
--keyblock "${USB_KEYBLOCK}" \
--signprivate "${USB_SIGNPRIVATE}" \
@@ -118,7 +119,7 @@
# And verify it.
echo -n "verify USB kernel ... "
: $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
--verify "${USB_KERN}" \
--signpubkey "${USB_SIGNPUBKEY}" >/dev/null
if [ "$?" -ne 0 ]; then
@@ -138,7 +139,7 @@
SSD_SIGNPUBKEY="${DEVKEYS}/kernel_subkey.vbpubk"
echo -n "repack to SSD kernel ... "
: $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
--repack "${SSD_KERN}" \
--vblockonly \
--keyblock "${SSD_KEYBLOCK}" \
@@ -158,7 +159,7 @@
echo -n "verify SSD kernel ... "
: $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
--verify "$tempfile" \
--signpubkey "${SSD_SIGNPUBKEY}" >/dev/null
if [ "$?" -ne 0 ]; then
@@ -170,7 +171,7 @@
# Finally make sure that the kernel command line stays good.
orig=$(cat "${CONFIG}" | tr '\012' ' ')
-packed=$("${BIN_DIR}/dump_kernel_config" "${USB_KERN}")
+packed=$("${FUTILITY}" dump_kernel_config "${USB_KERN}")
echo -n "check USB kernel config ..."
: $(( tests++ ))
if [ "$orig" != "$packed" ]; then
@@ -180,7 +181,7 @@
echo -e "${COL_GREEN}PASSED${COL_STOP}"
fi
-repacked=$("${BIN_DIR}/dump_kernel_config" "${tempfile}")
+repacked=$("${FUTILITY}" dump_kernel_config "${tempfile}")
echo -n "check SSD kernel config ..."
: $(( tests++ ))
if [ "$orig" != "$packed" ]; then
diff --git a/tests/run_vbutil_tests.sh b/tests/run_vbutil_tests.sh
index 47d8dfc..84f66d1 100755
--- a/tests/run_vbutil_tests.sh
+++ b/tests/run_vbutil_tests.sh
@@ -18,7 +18,7 @@
echo -e "For signing key ${COL_YELLOW}RSA-$keylen/$hashalgo${COL_STOP}:"
# Pack the key
- ${BIN_DIR}/vbutil_key \
+ ${FUTILITY} vbutil_key \
--pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk \
--key ${TESTKEY_DIR}/key_rsa${keylen}.keyb \
--version 1 \
@@ -30,7 +30,7 @@
# Unpack the key
# TODO: should verify we get the same key back out?
- ${BIN_DIR}/vbutil_key \
+ ${FUTILITY} vbutil_key \
--unpack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk
if [ $? -ne 0 ]
then
@@ -75,7 +75,7 @@
rm -f ${keyblockfile}
# Wrap private key
- ${BIN_DIR}/vbutil_key \
+ ${FUTILITY} vbutil_key \
--pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbprivk \
--key ${TESTKEY_DIR}/key_rsa${signing_keylen}.pem \
--algorithm $signing_algonum
@@ -86,7 +86,7 @@
fi
# Wrap public key
- ${BIN_DIR}/vbutil_key \
+ ${FUTILITY} vbutil_key \
--pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk \
--key ${TESTKEY_DIR}/key_rsa${signing_keylen}.keyb \
--algorithm $signing_algonum
@@ -97,7 +97,7 @@
fi
# Pack
- ${BIN_DIR}/vbutil_keyblock --pack ${keyblockfile} \
+ ${FUTILITY} vbutil_keyblock --pack ${keyblockfile} \
--datapubkey \
${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
--signprivate \
@@ -109,7 +109,7 @@
fi
# Unpack
- ${BIN_DIR}/vbutil_keyblock --unpack ${keyblockfile} \
+ ${FUTILITY} vbutil_keyblock --unpack ${keyblockfile} \
--datapubkey \
${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2 \
--signpubkey \
@@ -134,7 +134,7 @@
external signer.${COL_STOP}"
# Pack using external signer
# Pack
- ${BIN_DIR}/vbutil_keyblock --pack ${keyblockfile} \
+ ${FUTILITY} vbutil_keyblock --pack ${keyblockfile} \
--datapubkey \
${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
--signprivate_pem \
@@ -149,7 +149,7 @@
fi
# Unpack
- ${BIN_DIR}/vbutil_keyblock --unpack ${keyblockfile} \
+ ${FUTILITY} vbutil_keyblock --unpack ${keyblockfile} \
--datapubkey \
${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2 \
--signpubkey \
diff --git a/tests/vb2_firmware_tests.sh b/tests/vb2_firmware_tests.sh
index e1981db..fccacda 100755
--- a/tests/vb2_firmware_tests.sh
+++ b/tests/vb2_firmware_tests.sh
@@ -24,24 +24,25 @@
> body.test
# Pack keys using original vboot utilities
-${BIN_DIR}/vbutil_key --pack rootkey.test \
+${FUTILITY} vbutil_key --pack rootkey.test \
--key ${TESTKEY_DIR}/key_rsa8192.keyb --algorithm 11
-${BIN_DIR}/vbutil_key --pack fwsubkey.test \
+${FUTILITY} vbutil_key --pack fwsubkey.test \
--key ${TESTKEY_DIR}/key_rsa4096.keyb --algorithm 7
-${BIN_DIR}/vbutil_key --pack kernkey.test \
+${FUTILITY} vbutil_key --pack kernkey.test \
--key ${TESTKEY_DIR}/key_rsa2048.keyb --algorithm 4
# Create a GBB with the root key
-${BIN_DIR}/gbb_utility -c 128,2400,0,0 gbb.test
-${BIN_DIR}/gbb_utility gbb.test -s --hwid='Test GBB' --rootkey=rootkey.test
+${FUTILITY} gbb_utility -c 128,2400,0,0 gbb.test
+${FUTILITY} gbb_utility gbb.test -s --hwid='Test GBB' \
+ --rootkey=rootkey.test
# Keyblock with firmware subkey is signed by root key
-${BIN_DIR}/vbutil_keyblock --pack keyblock.test \
+${FUTILITY} vbutil_keyblock --pack keyblock.test \
--datapubkey fwsubkey.test \
--signprivate ${TESTKEY_DIR}/key_rsa8192.sha512.vbprivk
# Firmware preamble is signed with the firmware subkey
-${BIN_DIR}/vbutil_firmware \
+${FUTILITY} vbutil_firmware \
--vblock vblock.test \
--keyblock keyblock.test \
--signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
@@ -52,6 +53,6 @@
echo 'Verifying test firmware using vb2_verify_fw'
# Verify the firmware using vboot2 utility
-${BIN_DIR}/futility vb2_verify_fw gbb.test vblock.test body.test
+${FUTILITY} vb2_verify_fw gbb.test vblock.test body.test
happy 'vb2_verify_fw succeeded'