coreboot-kgpe-d16/util/board_status
Paul Menzel b7b085dc65 board-status: Only store CBMEM console from last boot
Since CBMEM console became a ring buffer, logs from several boots can be
stored. We are only interested in the current boot.

>    -c | --console:                   print cbmem console
>    -1 | --oneboot:                   print cbmem console for last boot only

For CBMEM time stamps only the time stamps of the current boot are
stored, so only the commands for the CBMEM console need to be adapted.

Change-Id: I18caa4aeebbd5576b9e218d176a7db5a8e868b74
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-on: https://review.coreboot.org/28531
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
2018-09-17 13:53:02 +00:00
..
go/src Rewrite board_status in go. 2014-11-26 23:18:58 +01:00
README util/board_status: do a spell check 2017-09-04 08:27:27 +00:00
board_status.sh board-status: Only store CBMEM console from last boot 2018-09-17 13:53:02 +00:00
description.md util: Add description.md to each util 2018-07-26 13:26:50 +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.