Martin Roth has submitted this change. ( https://review.coreboot.org/c/coreboot/+/66080 )
Change subject: payloads/edk2: Separate the build target and repository ......................................................................
payloads/edk2: Separate the build target and repository
Until recently, there were two options to build edk2, UefiPayloadPkg and CorebootPayloadPkg. Now, there is only one, UefiPayloadPkg but soon, there will be Universal Payload.
It makes more sense, as the official edk2 repository doesn't work with coreboot, to have the build target and repository separate. That will allow for building either UefiPayloadPkg or Universal Payload from the official repository, MrChromebox' fork or a custom repository.
Signed-off-by: Sean Rhodes sean@starlabs.systems Change-Id: If7f12423058ef69838741f384495ca766ccea083 Reviewed-on: https://review.coreboot.org/c/coreboot/+/66080 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Lean Sheng Tan sheng.tan@9elements.com --- M payloads/external/Makefile.inc M payloads/external/edk2/Kconfig 2 files changed, 48 insertions(+), 20 deletions(-)
Approvals: build bot (Jenkins): Verified Lean Sheng Tan: Looks good to me, approved
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 6720f30..3ca3fc9 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -161,8 +161,9 @@ CONFIG_EDK2_REPOSITORY=$(CONFIG_EDK2_REPOSITORY) \ CONFIG_EDK2_TAG_OR_REV=$(CONFIG_EDK2_TAG_OR_REV) \ CONFIG_EDK2_UEFIPAYLOAD=$(CONFIG_EDK2_UEFIPAYLOAD) \ - CONFIG_EDK2_UPSTREAM=$(CONFIG_EDK2_UPSTREAM) \ - CONFIG_EDK2_CUSTOM=$(CONFIG_EDK2_CUSTOM) \ + CONFIG_EDK2_REPO_OFFICIAL=$(CONFIG_EDK2_REPO_OFFICIAL) \ + CONFIG_EDK2_REPO_MRCHROMEBOX=$(CONFIG_EDK2_REPO_MRCHROMEBOX) \ + CONFIG_EDK2_REPO_CUSTOM=$(CONFIG_EDK2_REPO_CUSTOM) \ CONFIG_EDK2_CUSTOM_BUILD_PARAMS=$(CONFIG_EDK2_CUSTOM_BUILD_PARAMS) \ CONFIG_EDK2_DEBUG=$(CONFIG_EDK2_DEBUG) \ CONFIG_EDK2_RELEASE=$(CONFIG_EDK2_RELEASE) \ diff --git a/payloads/external/edk2/Kconfig b/payloads/external/edk2/Kconfig index ec6be89..d2a589b 100644 --- a/payloads/external/edk2/Kconfig +++ b/payloads/external/edk2/Kconfig @@ -2,32 +2,39 @@
config PAYLOAD_FILE string "edk2 binary" - default "$(obj)/UEFIPAYLOAD.fd" + default "$(obj)/UEFIPAYLOAD.fd" if EDK2_UEFIPAYLOAD help The result of a UefiPayloadPkg build
+config EDK2_UEFIPAYLOAD + bool "Build UefiPayloadPkg" + default y + help + Build the standard UefiPayloadPkg + choice prompt "Tianocore's EDK II payload" - default EDK2_UEFIPAYLOAD + default EDK2_REPO_MRCHROMEBOX help Select which type of payload edk2 will build (default is UefiPayload) UefiPayload: MrChromebox's customized fork of edk2 which works on most x86_64 devices Upstream: Use upstream edk2 payload from https://github.com/tianocore/edk2
-config EDK2_UEFIPAYLOAD - bool "UEFIPayload" +config EDK2_REPO_MRCHROMEBOX + bool "MrChromebox' edk2 fork" help Select this option to build using MrChromebox's custom edk2 fork, which incorporates fixes/improvements from System 76's and 9elements' trees.
-config EDK2_UPSTREAM - bool "Upstream" +config EDK2_REPO_OFFICIAL + bool "Official edk2 repository" help - Select this option if you want to use upstream edk2 to build edk2. + Select this option if you want to use the official edk2 repository to build + edk2.
-config EDK2_CUSTOM - bool "Custom" +config EDK2_REPO_CUSTOM + bool "Specify your own repository" help Specify your own edk2 repository and branch to use.
@@ -35,16 +42,18 @@
config EDK2_REPOSITORY string "URL to git repository for edk2" - default "https://github.com/tianocore/edk2" if EDK2_UPSTREAM - default "https://github.com/mrchromebox/edk2" if EDK2_UEFIPAYLOAD + default "https://github.com/mrchromebox/edk2" if EDK2_REPO_MRCHROMEBOX + default "https://github.com/tianocore/edk2" if EDK2_REPO_OFFICIAL + default "" if EDK2_REPO_CUSTOM help coreboot supports an array of build options which can be found below. These options will only have an effect if the relevant options exist in the target repository.
config EDK2_TAG_OR_REV string "Insert a commit's SHA-1 or a branch name" - default "origin/uefipayload_202207" if EDK2_UEFIPAYLOAD - default "origin/master" if EDK2_UPSTREAM + default "origin/uefipayload_202207" if EDK2_REPO_MRCHROMEBOX + default "origin/master" if EDK2_REPO_OFFICIAL + default "" if EDK2_REPO_CUSTOM help The commit's SHA-1 or branch name of the revision to use. This must exist in EDK2_REPOSITORY, and in the case of a branch name, prefixed with origin i.e. @@ -69,8 +78,6 @@
endchoice
-if EDK2_UEFIPAYLOAD || EDK2_CUSTOM || EDK2_UPSTREAM - config EDK2_ABOVE_4G_MEMORY bool "Enable above 4G memory" default n @@ -188,11 +195,9 @@ Enable serial port output in edk2. Serial output limits the performance of edk2's FrontPage.
-endif - config EDK2_CUSTOM_BUILD_PARAMS string "edk2 additional custom build parameters" - default "-D VARIABLE_SUPPORT=SMMSTORE" if EDK2_UEFIPAYLOAD && SMMSTORE_V2 + default "-D VARIABLE_SUPPORT=SMMSTORE" if EDK2_REPO_MRCHROMEBOX && SMMSTORE_V2 help edk2 has build options that are not modified by coreboot, and these can be found in `UefiPayloadPkg/UefiPayloadPkg.dsc`. Forks may also support