mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-16 06:09:14 +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>
1.2 KiB
1.2 KiB
coreboot
Introduction
Until now only the version detection has been implemented.
System identification
coreboot can be detected the following ways:
- by parsing SMBIOS type 0 vendor string. On coreboot enabled platforms
it's always
coreboot
. - by parsing ACPI tables. An ACPI device with the _HID
BOOT0000
exists. (This HID has been reserved for coreboot enabled platforms) - 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.