Board Status

From coreboot
Revision as of 18:43, 16 September 2017 by Dhendrix (talk | contribs)
Jump to: navigation, search

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

Board Status

Semi-automated crowdsourced information about what boards and versions of coreboot are known to work together.

Intro

For many years the list of Supported Mainboards was maintained by a small handful of people with wiki access. This was challenging in a couple of ways: Wiki access was different from repository commit access, and the process of updating the wiki is somewhat tedious especially if we want an ongoing list of which coreboot versions work on a particular mainboard.

To address this problem the board_status.sh script was created to glean some basic information using cbmem and the kernel log on a machine that had successfully booted coreboot. The script (both shell and Go versions) reside under the util/board_status directory.

How It Works

board_status.sh gathers build information and runtime information. Build information includes data from git such as the repository from where the code came from. Runtime information includes CBMEM data and kernel log.

Steps

In a nutshell, here are the steps involved:

  1. Read coreboot and payload configuration and version. This includes information from git metadata.
  2. Read CBMEM log from DUT.
  3. Read kernel log from DUT
  4. (Optional) Upload results to the board_status repository [1] via git. The Supported Mainboards page is generated automatically using this data.

To upload results, the user must have an account with commit rights on coreboot.org. This is simply to prevent spam and abuse. If you have an idea for how to improve this so that more people can contribute without needing an account please let us know on the Mailinglist!

What Is Tested

Currently the only thing that is tested is whether or not the machine booted successfully. Other tests may be added in the future, but for now the lowest common denominator is simply a test of whether the machine booted far enough to run the board_status script.

How To Use It

Dependencies

  • The device under test must have the cbmem utility installed in the root user's $PATH.

Remote via SSH

In this setup coreboot is built on a separate machine from the DUT. The DUT is configured to allow root login via SSH pubkey authentication.

Steps:

  1. Set up DUT with public key authentication and root login.
  2. Build coreboot on local machine.
  3. Flash DUT with coreboot image and boot it.
  4. Run `util/board_status/board_status.sh -r <host>` on local machine. Add the `-u` option to upload the results (requires OpenID/OAth2 account; see https://www.coreboot.org/Git#Gerrit [2] for details).

Remote via Serial

TBA

Local

TBA