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!
Semi-automated crowdsourced information about what boards and versions of coreboot are known to work together.
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.
In a nutshell, here are the steps involved:
- Read coreboot and payload configuration and version. This includes information from git metadata.
- Read CBMEM log from DUT.
- Read kernel log from DUT
- (Optional) Upload results to the board_status repository  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
- The device under test (DUT) must have the cbmem utility. The '-c' option may be used to specify the location if it is not in $PATH.
- To upload results, the user must have git commit access. This requires an OpenID/OAth2 account, see https://www.coreboot.org/Git#Gerrit  for details.
In this use case, the coreboot is built and run on the same machine. If the user is not root, then sudo will be used to invoke cbmem.
- Build coreboot on local machine and flash it.
- Reboot, login, and cd to coreboot directory.
- Run `util/board_status/board_status.sh. Add `-u` to upload the results.
Remote via SSH
In this use case coreboot is built on a separate machine from the DUT. The DUT is configured to allow root login via SSH pubkey authentication, and the script runs cbmem on the DUT via SSH.
- Set up DUT with public key authentication and root login.
- Build coreboot on local machine.
- Flash DUT with coreboot image and boot it.
- Run `util/board_status/board_status.sh -r <host>` on local machine. Add the `-u` option to upload the results.
Remote via Serial