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: General setup --->
, [*] Use CMOS for configuration values
.
This option is also known as CONFIG_USE_OPTION_TABLE
in Kconfig
.
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 board_status.sh -s </dev/xxx>
, script 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
It expects the user to already have an account in
coreboot's Gerrit instance.
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.