diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2016-12-25 21:27:41 +0100 |
---|---|---|
committer | Leah Rowe <info@minifree.org> | 2017-01-15 14:24:46 +0000 |
commit | bfa02282620cdeca363bdafd18d68670e151e5a5 (patch) | |
tree | 0f03a02ab785d95e9b050a795d4c5e9a133494d2 /tools/boot-keys/boot-keys-helper | |
parent | 0466ef18ef6748753b2f205a2169e85c73ae2d8e (diff) | |
download | librebootfr-bfa02282620cdeca363bdafd18d68670e151e5a5.tar.gz librebootfr-bfa02282620cdeca363bdafd18d68670e151e5a5.zip |
tools: Add boot-keys tool to handle keys and images verification
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'tools/boot-keys/boot-keys-helper')
-rwxr-xr-x | tools/boot-keys/boot-keys-helper | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tools/boot-keys/boot-keys-helper b/tools/boot-keys/boot-keys-helper new file mode 100755 index 00000000..5046cbfb --- /dev/null +++ b/tools/boot-keys/boot-keys-helper @@ -0,0 +1,72 @@ +#!/bin/bash + +KERNEL="kernel" +TYPE="type" +ROM="rom" +IMG="img" + +boot_keys_cros() { + local cros_script=$1 + shift + + local vboot_tools_path=$( project_install_path "vboot" "tools" ) + local cros_scripts_path=$( project_install_path "cros-scripts" ) + local cros_script_path="$cros_scripts_path/$cros_script" + + if ! [ -x "$cros_script_path" ] + then + printf "$cros_script script missing from cros-scripts install" >&2 + return 1 + fi + + VBOOT_KEYS_PATH=$VBOOT_KEYS_PATH VBOOT_TOOLS_PATH=$vboot_tools_path $cros_script_path "$@" +} + +boot_keys_type() { + tool_file_contents "$tool" "$CONFIGS" "$TYPE" "$@" +} + +boot_keys_files_install_path() { + local project=$1 + shift + + local helper_arguments + local argument + local ifs_save + + helper_arguments=$( project_action_helper "arguments" "$project" "$@" ) + + + if [ $? -ne 0 ] || [ -z "$helper_arguments" ] + then + project_install_path "$project" "$@" + else + # This it to allow space characters in arguments. + ifs_save=$IFS + IFS=$'\n' + + for argument in $( echo "$helper_arguments" ) + do + ( + IFS=$ifs_save + + # Only a single argument at a time is returned by the helper. + boot_keys_files_install_path "$project" "$@" "$argument" + ) + done + + IFS=$ifs_save + fi +} + +boot_keys_files() { + local project=$1 + shift + + local cros_scripts_path=$( project_install_path "cros-scripts" ) + local cros_boot_keys="$cros_scripts_path/cros-boot-keys" + + project_action_arguments_verify_recursive "install" "$project" "$@" + + boot_keys_files_install_path "$project" "$@" +} |