diff options
| author | Leah Rowe <leah@libreboot.org> | 2026-09-22 08:29:15 +0100 |
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2026-09-22 15:44:21 +0100 |
| commit | 92d952b6056f31b3e2da4fc8b6cd0c67328bcd03 (patch) | |
| tree | 17efa62ceb01f68d965c18b8dfee41169f404beb /config/module/coreboot/default | |
| parent | 8fab3275190e9dbd8e66528ce1ec8c92becdc3c7 (diff) | |
experimental edk2 support
now we can have gop support!
add these to a board's target.cfg to enable:
payload_edk2="edk2_mrchromebox"
and add this to build_depend: coreboot/edk2_mrchromebox
as an example, this patch enables it on dell optiplex 5050 sff.
we don't handle downloads of edk2 or submodules in lbmk. we
use coreboot's logic. coreboot's logic doesn't have redundant
git repository backups, and doesn't properly support patching
submodules like lbmk would.
in a future revision, i will add edk2 git repository and submodules
in lbmk directly, and build it using lbmk's own logic.
because of this design, it's set release=n for now. if you build
for a board that enables edk2 when doing ./mk release, or if
you set XBMK_RELEASE=y, and a board is release=n in target.cfg,
that board is skipped; this extends to everything. edk2_mrchromebox
is set release=n.
when release=n and doing ./mk release, payload_edk2 is emptied at
build time. those boards that use it would still build, but only
have e.g. grub, seabios and u-boot.
the coreboot build system is given a fake coreboot target. it actually
is a QEMU setup, and does boot into QEMU, though edk2 is currently
broken on QEMU in my testing. it works on dell optiplex 5050 sff.
edk2 is multi-tree, naturally because it piggybacks off of coreboot
as in this patch. this means i can add other targets with different
edk2 setups. e.g. config/module/coreboot/edk2_foo, then a given
coreboot tree would set payload_edk2="foo"
so long as edk2 is enabled in the coreboot config, it will build
to a custom_*.rom under bin/
the config for coreboot must be named libgfxinit_corebootfb, but
the edk2 build could be used on fspgop and vgarom setups as
well. it is disabled on text-mode setups.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'config/module/coreboot/default')
| -rw-r--r-- | config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch b/config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch new file mode 100644 index 00000000..31ef8761 --- /dev/null +++ b/config/module/coreboot/default/patches/0058-don-t-delete-edk2-builds.patch @@ -0,0 +1,47 @@ +From fb17486cd4edf6515d93b294546dd1ef4b9c1a3b Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Tue, 22 Sep 2026 08:01:01 +0100 +Subject: [PATCH 1/1] don't delete edk2 builds + +lbmk build.list needs to be able to copy this + +we rely on the coreboot build system to build +edk2, by providing a fake coreboot config. + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + payloads/external/edk2/Makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/payloads/external/edk2/Makefile b/payloads/external/edk2/Makefile +index 75b7f7983d..d6f3d98001 100644 +--- a/payloads/external/edk2/Makefile ++++ b/payloads/external/edk2/Makefile +@@ -413,19 +413,19 @@ $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit: \ + + UefiPayloadPkg: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd + mkdir -p $(dir $(EDK2_UEFIPAYLOAD_OUT)) +- mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd \ ++ cp $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd \ + $(EDK2_UEFIPAYLOAD_OUT) + + UniversalPayload: $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit + mkdir -p $(dir $(EDK2_UNIVERSAL_PAYLOAD_OUT)) +- mv $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit \ ++ cp $(WORKSPACE)/Build/UefiPayloadPkgIA32/UniversalPayload.fit \ + $(EDK2_UNIVERSAL_PAYLOAD_OUT) + + clean: +- test -d $(WORKSPACE) && (cd $(WORKSPACE); rm -rf Build; rm -f Conf/tools_def.txt Conf/CapsuleFmpPkcs7Pcd.inc) || exit 0 ++ test -d $(WORKSPACE) && (cd $(WORKSPACE); rm -f Conf/tools_def.txt Conf/CapsuleFmpPkcs7Pcd.inc) || exit 0 + +-distclean: +- rm -rf $(WORKSPACE) ++distclean: clean ++ : + + .PHONY: $(EDK2_PATH) checktools logo UefiPayloadPkg UniversalPayload clean distclean + +-- +2.47.3 + |
