coreboot-kgpe-d16/util/board_status
David Hendricks bb90fb55d0 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 <david.hendricks@gmail.com>
Reviewed-on: https://review.coreboot.org/21566
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-02-16 22:40:20 +00:00
..
go/src Rewrite board_status in go. 2014-11-26 23:18:58 +01:00
to-wiki board_status/towiki: Fix link to last report for "clone" boards 2017-10-20 02:22:23 +00:00
README util/board_status: do a spell check 2017-09-04 08:27:27 +00:00
board_status.sh board_status: Make board_status more friendly for local usage 2018-02-16 22:40:20 +00:00
getrevision.sh board_status/getrevision.sh: get rid of colons in dir names 2016-01-29 16:56:31 +01:00
set_up_live_image.sh board_status: Add script that will set up a ubuntu live image 2016-02-18 04:21:26 +01:00

README

General information on boot logs
================================
To gather good boot logs, you must set the debug level to Spew.

If your board uses CMOS configuration[1], you can do it like this:
nvramtool -w debug_level=Spew

Else you will need to have to set the default log level at compile
time, to do that go in "Console  --->" in make menuconfig, then set
"Default console log level" to SPEW

Reference:
----------
[1] in make menuconfig you should have: [*] Use CMOS for configuration values
    This option is also known as CONFIG_USE_OPTION_TABLE in Kconfig.
Information through SSH
======================
board_status.sh can gather information through ssh with the -r
option.

When using "-r <host>", The script will attempt to log into
root@<host>.
In order for "-r <host>" to work, the script has to be able
to log into the remote host's root account, without having
to provide a password.
That can be achieved with the use of SSH keys and ssh-agent.

board_status.sh expects the remote host to have the following
programs in its path: cbmem, dmesg

Boot log gathering through a serial port
=======================================
When using -s </dev/xxx>, board_status.sh starts by retrieving the
boot log through the serial port.

To produce such logs, power off the board, run board_status.sh
with the right arguments, power on the board.
At that point the logs will be displayed by board_status.sh as they
are produced by the board.

Enter will have to be pressed once the board has booted and is in a
state where the script is able to log into that board.

Publishing
==========
The -u switch will publish the results: It will make a git patch out
of the status information, that will be directly pushed in the
board-status repository.
It expects the user to already have an account in coreboot's gerrit
instance.