coreboot/src
Sean Rhodes 817394f12c Makefile.mk: generate EDK2 update capsule
Generate a signed UEFI capsule from the final coreboot ROM image using
EDK2 BaseTools.

When using an EDK2 payload and enabling DRIVERS_EFI_UPDATE_CAPSULES and
DRIVERS_EFI_GENERATE_CAPSULE, the build produces build/coreboot.cap once
the ROM is finalised (after all files were added to CBFS). The capsule
can also be generated explicitly with `make capsule`.

Move the capsule generation and certificate preparation into
payloads/external/edk2/Makefile, including generating the trusted root
certificate PCD include via BinToPcd.

Support capsule flows with an embedded FmpDxe driver by optionally
embedding FmpDxe.efi into generated capsules, and wiring the
embedded-driver Kconfig options through to the EDK2 payload build and
capsule generation.

Always set PersistAcrossReset on the capsule. Make InitiateReset
configurable (default off) because Linux rejects capsules with
InitiateReset when writing via /dev/efi_capsule_loader.

Use CONFIG_DRIVERS_EFI_MAIN_FW_VERSION for GenerateCapsule
--fw-version, but fall back to parsing a leading <major>.<minor> from
CONFIG_LOCALVERSION when it is left at 0. If
CONFIG_DRIVERS_EFI_MAIN_FW_LSV is 0, use the resolved firmware version.

Document capsule generation and embedded driver configuration.

Corresponding edk2 patches can be found at:
https://github.com/tianocore/edk2/pull/12053

Change-Id: I5f56b894d40ddb49f3158bb72f0143d0ebe9c34c
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90862
Reviewed-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2026-03-16 19:51:14 +00:00
..
acpi acpi/dsdt_top.asl: Move RBUF out of the _CRS method 2026-02-09 15:20:48 +00:00
arch memlayout: Introduce PRERAM and POSTRAM TTB regions 2026-03-10 12:23:07 +00:00
commonlib cpu/x86/smm: add OPAL S3 CBMEM scratch 2026-03-13 16:44:04 +00:00
console console: Fix flushing for slow consoles 2025-10-02 22:44:46 +00:00
cpu cpu/x86/smm: add OPAL S3 CBMEM scratch 2026-03-13 16:44:04 +00:00
device dram/ddr3: Add speed in MT/s 2026-02-19 19:20:43 +00:00
drivers Makefile.mk: generate EDK2 update capsule 2026-03-16 19:51:14 +00:00
ec starlabs: drop CMOS option tables 2026-03-04 09:25:46 +00:00
include cpu/x86/smm: add OPAL S3 CBMEM scratch 2026-03-13 16:44:04 +00:00
lib src/lib: Generate spd.hex from JSON at build time 2026-03-12 20:41:38 +00:00
mainboard mb/emu/qemu-sbsa: Add GIC ITS and IORT for PCI MSI support 2026-03-16 17:21:53 +00:00
northbridge nb/intel/broadwell/acpi.c: Use Haswell's file 2026-03-04 16:49:22 +00:00
sbom sbom: Fix build with merged bootblock and romstage 2025-07-07 14:29:29 +00:00
security soc/intel/common: Add opt-in runtime control for BIOS SMM write 2026-01-29 14:41:46 +00:00
soc soc/mediatek/mt8196: Change dsi-phy1 & dsi-phy2 control method 2026-03-14 10:47:03 +00:00
southbridge sb/intel/wildcatpoint/pcie.c: Reorder some steps 2026-03-06 20:06:58 +00:00
superio sio/nuvoton/nct6776: Switch to common init code 2026-02-19 19:19:43 +00:00
vendorcode vc/amd/opensil/phoenix_poc: Adjust headers from Genoa to Phoenix 2026-03-13 16:43:43 +00:00
Kconfig Kconfig: move IOAPIC option to x86 Kconfig 2026-03-07 20:57:24 +00:00