mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-16 11:57:32 +00:00

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>
44 lines
1.2 KiB
Markdown
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.
|