coreboot/Documentation
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
..
_static
acpi Docs: Revert false MyST Parser toctree conversions 2024-09-09 23:26:42 +00:00
arch Documentation: Improve x86_64 2025-02-14 17:11:04 +00:00
community doc/community: Add a section on cross-project collaboration 2025-04-05 14:40:40 +00:00
contributing Doc/contributing: Add clarification on how to reference other commits 2025-08-19 20:57:21 +00:00
drivers Makefile.mk: generate EDK2 update capsule 2026-03-16 19:51:14 +00:00
getting_started Documentation: Fix typo in 'particularly' 2025-12-25 15:43:46 +00:00
gfx Doc/gfx/libgfxinit.md: Fix file names in source code references 2025-07-14 14:38:41 +00:00
infrastructure Docs: Convert bare URLs into hyperlinks 2024-12-14 06:23:13 +00:00
internals Documentation: Add Device Operations 2025-05-09 14:15:15 +00:00
lib Documentation/lib: Update Timestamp documentation 2025-07-04 13:18:33 +00:00
mainboard mainboard/starlabs: move starlite under adl/ 2026-03-02 08:49:04 +00:00
northbridge Docs: Use markdown autolinks instead of Sphinx doc directive 2025-08-02 16:47:10 +00:00
releases Documentation: Finalize 25.12 release notes 2025-12-21 20:21:47 +00:00
RFC Docs: Address remaining documents not included in toctrees 2024-10-27 23:50:29 +00:00
sbom Documentation: Update Makefile .inc references to .mk 2024-01-26 13:08:30 +00:00
security Documentation/vboot: Update vboot supported boards list 2025-12-18 17:36:57 +00:00
soc soc/intel/common: Add feature directory for SoC-specific common code 2026-02-23 15:04:23 +00:00
superio Docs: Fix broken header references 2024-08-21 16:18:23 +00:00
technotes Docs: Convert bare URLs into hyperlinks 2024-12-14 06:23:13 +00:00
tutorial Documentation/tutorial/managing_local_additions.md: Add symlink info 2024-12-03 14:06:46 +00:00
util Documentation/util/intelp2m: Add info for developers 2025-04-14 13:52:13 +00:00
vendorcode Docs: Replace Recommonmark with MyST Parser 2024-03-21 16:11:56 +00:00
.gitignore
.mdl_style.rb
acronyms.md Makefile.mk: Remove "crt0" dead code 2026-01-25 19:05:42 +00:00
AMD-S3.txt
beginverbatim.tex
cbfs.txt
codeflow.svg
conf.py Documentation: Remove ditaa support 2024-10-27 23:51:03 +00:00
COPYING
coreboot_logo.bmp
coreboot_logo.png
coreboot_logo.svg
corebootBuildingGuide.tex Documentation: Adjust master -> main branch 2023-09-15 18:42:46 +00:00
distributions.md doc/distributions: Update NovaCustom domain 2024-06-06 23:11:34 +00:00
documentation_license.md
endverbatim.tex
external_docs.md Docs: Revert false MyST Parser toctree conversions 2024-09-09 23:26:42 +00:00
gcov.txt
hypertransport.svg
index.md Documentation/internals: Add devicetree documentation 2025-04-06 20:37:34 +00:00
Makefile Docs: Turn warnings into errors 2024-10-27 23:51:11 +00:00
Makefile.sphinx Documentation: Fix make rule for sphinx-autobuild 2025-01-22 20:38:26 +00:00
payloads.md Documentation: Add method for GRUB2 to load seabios from drive 2026-01-01 17:12:26 +00:00
POSTCODES Makefile.mk: Remove "crt0" dead code 2026-01-25 19:05:42 +00:00
util.md util/mediatek: Add check-pi-img.py 2025-04-14 07:35:00 +00:00