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>
This commit is contained in:
parent
325afdaf9f
commit
91564fc370
|
@ -161,8 +161,9 @@ $(obj)/UEFIPAYLOAD.fd: $(DOTCONFIG)
|
||||||
CONFIG_EDK2_REPOSITORY=$(CONFIG_EDK2_REPOSITORY) \
|
CONFIG_EDK2_REPOSITORY=$(CONFIG_EDK2_REPOSITORY) \
|
||||||
CONFIG_EDK2_TAG_OR_REV=$(CONFIG_EDK2_TAG_OR_REV) \
|
CONFIG_EDK2_TAG_OR_REV=$(CONFIG_EDK2_TAG_OR_REV) \
|
||||||
CONFIG_EDK2_UEFIPAYLOAD=$(CONFIG_EDK2_UEFIPAYLOAD) \
|
CONFIG_EDK2_UEFIPAYLOAD=$(CONFIG_EDK2_UEFIPAYLOAD) \
|
||||||
CONFIG_EDK2_UPSTREAM=$(CONFIG_EDK2_UPSTREAM) \
|
CONFIG_EDK2_REPO_OFFICIAL=$(CONFIG_EDK2_REPO_OFFICIAL) \
|
||||||
CONFIG_EDK2_CUSTOM=$(CONFIG_EDK2_CUSTOM) \
|
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_CUSTOM_BUILD_PARAMS=$(CONFIG_EDK2_CUSTOM_BUILD_PARAMS) \
|
||||||
CONFIG_EDK2_DEBUG=$(CONFIG_EDK2_DEBUG) \
|
CONFIG_EDK2_DEBUG=$(CONFIG_EDK2_DEBUG) \
|
||||||
CONFIG_EDK2_RELEASE=$(CONFIG_EDK2_RELEASE) \
|
CONFIG_EDK2_RELEASE=$(CONFIG_EDK2_RELEASE) \
|
||||||
|
|
|
@ -2,32 +2,39 @@ if PAYLOAD_EDK2
|
||||||
|
|
||||||
config PAYLOAD_FILE
|
config PAYLOAD_FILE
|
||||||
string "edk2 binary"
|
string "edk2 binary"
|
||||||
default "$(obj)/UEFIPAYLOAD.fd"
|
default "$(obj)/UEFIPAYLOAD.fd" if EDK2_UEFIPAYLOAD
|
||||||
help
|
help
|
||||||
The result of a UefiPayloadPkg build
|
The result of a UefiPayloadPkg build
|
||||||
|
|
||||||
|
config EDK2_UEFIPAYLOAD
|
||||||
|
bool "Build UefiPayloadPkg"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Build the standard UefiPayloadPkg
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Tianocore's EDK II payload"
|
prompt "Tianocore's EDK II payload"
|
||||||
default EDK2_UEFIPAYLOAD
|
default EDK2_REPO_MRCHROMEBOX
|
||||||
help
|
help
|
||||||
Select which type of payload edk2 will build (default is UefiPayload)
|
Select which type of payload edk2 will build (default is UefiPayload)
|
||||||
UefiPayload: MrChromebox's customized fork of edk2 which works on most
|
UefiPayload: MrChromebox's customized fork of edk2 which works on most
|
||||||
x86_64 devices
|
x86_64 devices
|
||||||
Upstream: Use upstream edk2 payload from https://github.com/tianocore/edk2
|
Upstream: Use upstream edk2 payload from https://github.com/tianocore/edk2
|
||||||
|
|
||||||
config EDK2_UEFIPAYLOAD
|
config EDK2_REPO_MRCHROMEBOX
|
||||||
bool "UEFIPayload"
|
bool "MrChromebox' edk2 fork"
|
||||||
help
|
help
|
||||||
Select this option to build using MrChromebox's custom edk2 fork,
|
Select this option to build using MrChromebox's custom edk2 fork,
|
||||||
which incorporates fixes/improvements from System 76's and 9elements' trees.
|
which incorporates fixes/improvements from System 76's and 9elements' trees.
|
||||||
|
|
||||||
config EDK2_UPSTREAM
|
config EDK2_REPO_OFFICIAL
|
||||||
bool "Upstream"
|
bool "Official edk2 repository"
|
||||||
help
|
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
|
config EDK2_REPO_CUSTOM
|
||||||
bool "Custom"
|
bool "Specify your own repository"
|
||||||
help
|
help
|
||||||
Specify your own edk2 repository and branch to use.
|
Specify your own edk2 repository and branch to use.
|
||||||
|
|
||||||
|
@ -35,16 +42,18 @@ endchoice
|
||||||
|
|
||||||
config EDK2_REPOSITORY
|
config EDK2_REPOSITORY
|
||||||
string "URL to git repository for edk2"
|
string "URL to git repository for edk2"
|
||||||
default "https://github.com/tianocore/edk2" if EDK2_UPSTREAM
|
default "https://github.com/mrchromebox/edk2" if EDK2_REPO_MRCHROMEBOX
|
||||||
default "https://github.com/mrchromebox/edk2" if EDK2_UEFIPAYLOAD
|
default "https://github.com/tianocore/edk2" if EDK2_REPO_OFFICIAL
|
||||||
|
default "" if EDK2_REPO_CUSTOM
|
||||||
help
|
help
|
||||||
coreboot supports an array of build options which can be found below. These options
|
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.
|
will only have an effect if the relevant options exist in the target repository.
|
||||||
|
|
||||||
config EDK2_TAG_OR_REV
|
config EDK2_TAG_OR_REV
|
||||||
string "Insert a commit's SHA-1 or a branch name"
|
string "Insert a commit's SHA-1 or a branch name"
|
||||||
default "origin/uefipayload_202207" if EDK2_UEFIPAYLOAD
|
default "origin/uefipayload_202207" if EDK2_REPO_MRCHROMEBOX
|
||||||
default "origin/master" if EDK2_UPSTREAM
|
default "origin/master" if EDK2_REPO_OFFICIAL
|
||||||
|
default "" if EDK2_REPO_CUSTOM
|
||||||
help
|
help
|
||||||
The commit's SHA-1 or branch name of the revision to use. This must exist in
|
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.
|
EDK2_REPOSITORY, and in the case of a branch name, prefixed with origin i.e.
|
||||||
|
@ -69,8 +78,6 @@ config EDK2_RELEASE
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
if EDK2_UEFIPAYLOAD || EDK2_CUSTOM || EDK2_UPSTREAM
|
|
||||||
|
|
||||||
config EDK2_ABOVE_4G_MEMORY
|
config EDK2_ABOVE_4G_MEMORY
|
||||||
bool "Enable above 4G memory"
|
bool "Enable above 4G memory"
|
||||||
default n
|
default n
|
||||||
|
@ -188,11 +195,9 @@ config EDK2_SERIAL_SUPPORT
|
||||||
Enable serial port output in edk2. Serial output limits the performance of edk2's
|
Enable serial port output in edk2. Serial output limits the performance of edk2's
|
||||||
FrontPage.
|
FrontPage.
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
config EDK2_CUSTOM_BUILD_PARAMS
|
config EDK2_CUSTOM_BUILD_PARAMS
|
||||||
string "edk2 additional custom build parameters"
|
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
|
help
|
||||||
edk2 has build options that are not modified by coreboot, and these can be
|
edk2 has build options that are not modified by coreboot, and these can be
|
||||||
found in `UefiPayloadPkg/UefiPayloadPkg.dsc`. Forks may also support
|
found in `UefiPayloadPkg/UefiPayloadPkg.dsc`. Forks may also support
|
||||||
|
|
Loading…
Reference in New Issue