From bb90fb55d0bd09ad2865ed791641f1fcf778f0eb Mon Sep 17 00:00:00 2001 From: David Hendricks Date: Sat, 16 Sep 2017 13:01:13 -0700 Subject: board_status: Make board_status more friendly for local usage board_status.sh was originally written for use cases where the DUT is remote, i.e. accessed via serial port or SSH. This lead to some issues when attempting to run the script on the DUT itself. This patch attempts to handle the local use case more gracefully. sudo is used when running the cbmem command, and the '-c' option can be used to set cbmem path in case it's not in the default path used by sudo. Change-Id: I62957678ccae65fc46fd6ddf5ae92983d36cffad Signed-off-by: David Hendricks Reviewed-on: https://review.coreboot.org/21566 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- util/board_status/board_status.sh | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'util/board_status') diff --git a/util/board_status/board_status.sh b/util/board_status/board_status.sh index dc821049da..ca7e2c7fbe 100755 --- a/util/board_status/board_status.sh +++ b/util/board_status/board_status.sh @@ -363,7 +363,9 @@ else cbmem_cmd="cbmem" fi -if [ -z "$SERIAL_DEVICE" ]; then +if [ -n "$SERIAL_DEVICE" ]; then + get_serial_bootlog "$SERIAL_DEVICE" "$SERIAL_PORT_SPEED" "${tmpdir}/${results}/coreboot_console.txt" +elif [ -n "$REMOTE_HOST" ]; then echo "Verifying that CBMEM is available on remote device" test_cmd $REMOTE "$cbmem_cmd" echo "Getting coreboot boot log" @@ -374,7 +376,27 @@ if [ -z "$SERIAL_DEVICE" ]; then echo "Getting remote dmesg" cmd $REMOTE dmesg "${tmpdir}/${results}/kernel_log.txt" else - get_serial_bootlog "$SERIAL_DEVICE" "$SERIAL_PORT_SPEED" "${tmpdir}/${results}/coreboot_console.txt" + echo "Verifying that CBMEM is available" + if [ $(id -u) -ne 0 ]; then + sudo command -v "$cbmem_cmd" >/dev/null + if [ $? -ne 0 ]; then + echo "Failed to run $cbmem_cmd using sudo. Check \$PATH or use -c" \ + "to specify path to cbmem binary." + exit $EXIT_FAILURE + else + cbmem_cmd="sudo $cbmem_cmd" + fi + else + test_cmd $LOCAL "$cbmem_cmd" + fi + + echo "Getting coreboot boot log" + cmd $LOCAL "$cbmem_cmd -c" "${tmpdir}/${results}/coreboot_console.txt" + echo "Getting timestamp data" + cmd_nonfatal $LOCAL "$cbmem_cmd -t" "${tmpdir}/${results}/coreboot_timestamps.txt" + + echo "Getting local dmesg" + cmd $LOCAL dmesg "${tmpdir}/${results}/kernel_log.txt" fi # -- cgit v1.2.3