fwupd/plugins/coreboot/README.md

60 lines
1.6 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 can have an optional prefix (see below).
After the optional prefix the *major*, *minor* string follows and finally
the *build string*, containing the exact commit and repository state, follows.
For example:
> 4.10-989-gc8a4e4b9c5-dirty
**Exception on Lenovo devices:**
The thinkpad_acpi kernel module requires a specific pattern in the DMI version
string. To satisfy those requirements coreboot adds the CBETxxxx prefix to the
DMI version string on all Lenovo devices.
For example:
> CBET4000 4.10-989-gc8a4e4b9c5-dirty
The coreboot DMI version string always starts with `CBET`.
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.
Vendor ID Security
------------------
The vendor ID is set from the BIOS vendor, in this instance `DMI:coreboot`