fwupd/plugins/coreboot/README.md
Patrick Rudolph 0b7143da66 plugins: Add coreboot plugin
Detect and parse current coreboot version.
There's no need to depend on libflashrom for now.

An update mechanism isn't implemented as the kernel interface isn't
stable yet and will be implemented in a separate commit.

Tested on coreboot enabled machine.
Example output:
coreboot System Firmware
  DeviceId:             81104bde9db7cb037936659ea727c739f47a5029
  Guid:                 230c8b18-8d9b-53ec-838b-6cfc0383493a <- main-system-firmware
  Guid:                 de6fd40f-4ec9-5c0b-95e1-8fb13d1b030c <- LENOVO&ThinkPad T410&2537VG5
  Guid:                 978b0d18-bfe9-5279-9a9f-68dc247a705f <- LENOVO&ThinkPad T410&LENOVO&2537VG5
  Summary:              Open Source system boot firmware
  Plugin:               coreboot
  Flags:                internal|registered
  Vendor:               LENOVO
  Version:              4.10.991
  VersionFormat:        triplet
  Icon:                 computer
  Created:              2019-10-14

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2019-10-17 18:31:01 +02:00

44 lines
1.2 KiB
Markdown

coreboot
========
Introduction
------------
Until now only the version detection has been implemented.
System identification
---------------------
coreboot can be detected the following ways:
1. by parsing SMBIOS type 0 vendor string. On coreboot enabled platforms
it's always `coreboot`.
2. by parsing ACPI tables. An ACPI device with the _HID `BOOT0000` exists.
(This HID has been reserved for coreboot enabled platforms)
3. by parsing the devicetree. A node under *firmware/coreboot* with the
compatible id `coreboot` exists.
coreboot version string
-----------------------
The coreboot version string always starts with `CBET`.
After the prefix the *version*, *major*, *minor* string follows and finally
the *build string*, containing the exact commit and repository state, follows.
For example:
> CBET4000 4.10-989-gc8a4e4b9c5-dirty
GUID Generation
---------------
These device uses hardware ID values which are derived from SMBIOS.
The following HWIDs are added on coreboot enabled platforms:
* HardwareID-3
* HardwareID-4
* HardwareID-5
* HardwareID-6
* HardwareID-10
They do match the values provided by `fwupdtool hwids` or
the `ComputerHardwareIds.exe` Windows utility.