From e9aef1fe4548da7bf65f11aec48ff3b40e6461fa Mon Sep 17 00:00:00 2001 From: Marcello Sylvester Bauer Date: Mon, 2 Mar 2020 16:04:19 +0100 Subject: Doc/security/vboot: Add a script generated device list Add a script generated list of vboot enabled devices to the documentation. Add a entry to the release checklist. Change-Id: Ibb57d26c5f0cb8efd27ca9a97fd762c25b566f93 Signed-off-by: Marcello Sylvester Bauer Reviewed-on: https://review.coreboot.org/c/coreboot/+/39200 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph Reviewed-by: Patrick Georgi --- util/vboot_list/description.md | 2 ++ util/vboot_list/vboot_list.sh | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 util/vboot_list/description.md create mode 100755 util/vboot_list/vboot_list.sh (limited to 'util') diff --git a/util/vboot_list/description.md b/util/vboot_list/description.md new file mode 100644 index 0000000000..b994557f6c --- /dev/null +++ b/util/vboot_list/description.md @@ -0,0 +1,2 @@ +Tools to generate a list of vboot enabled devices to the documentation +`Bash` diff --git a/util/vboot_list/vboot_list.sh b/util/vboot_list/vboot_list.sh new file mode 100755 index 0000000000..f3e8975e96 --- /dev/null +++ b/util/vboot_list/vboot_list.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +TOP="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../.. >/dev/null 2>&1 && pwd )" +MAINBOARDS="src/mainboard" +OUTPUT_FILE=${1:-$TOP/Documentation/security/vboot/list_vboot.md} + +function has_vboot +{ + local DIR=$1 + + grep -rq "config VBOOT" $DIR + return $? +} + +function get_vendor_name +{ + local VENDORDIR=$1 + + sed -n '/config VENDOR/{n;s/^[\t[:space:]]\+bool "\(.*\)"/\1/;p;}' \ + $VENDORDIR/Kconfig.name +} + +function get_board_name +{ + local BOARDDIR=$1 + + sed -n '/config BOARD/{n;s/^[\t[:space:]]\+bool "\(->\s\+\)\?\(.*\)"/\2/;p;}' \ + $BOARDDIR/Kconfig.name +} + +function list_vboot_boards +{ + local VENDORDIR=$1 + for BOARD in $(ls -d $VENDORDIR/*/) + do + has_vboot $BOARD || continue + get_board_name $BOARD + done +} + +function generate_vboot_list +{ +for VENDOR in $(ls -d $TOP/$MAINBOARDS/*/) +do + has_vboot $VENDOR || continue + echo -e "\n## $(get_vendor_name $VENDOR)" + IFS=$'\n' + for BOARD in $(list_vboot_boards $VENDOR) + do + echo "- $BOARD" + done +done +} + +(echo "# VBOOT enabled devices"; generate_vboot_list) > $OUTPUT_FILE -- cgit v1.2.3