mirror of
https://github.com/Dasharo/coreboot.git
synced 2026-06-13 10:16:48 -07:00
payloads/external/edk2: Add ability to build different payload pkg
Change-Id: If45d681604a93c1ae9fb463b3a6ef01a1a5cbe3a Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
This commit is contained in:
Vendored
+1
-1
@@ -161,7 +161,7 @@ IPXE_EFI := payloads/external/iPXE/ipxe/ipxe.rom
|
||||
endif
|
||||
|
||||
$(obj)/UEFIPAYLOAD.fd: $(DOTCONFIG) $(IPXE_EFI)
|
||||
$(MAKE) -C payloads/external/edk2 UefiPayloadPkg \
|
||||
$(MAKE) -C payloads/external/edk2 DasharoPayloadPkg \
|
||||
HOSTCC="$(HOSTCC)" \
|
||||
CC="$(HOSTCC)" \
|
||||
CONFIG_EDK2_REPOSITORY=$(CONFIG_EDK2_REPOSITORY) \
|
||||
|
||||
Vendored
+24
-22
@@ -26,8 +26,10 @@ endif
|
||||
|
||||
OBJCOPY = $(GCC_PREFIX)objcopy
|
||||
|
||||
PAYLOAD_PKG=DasharoPayloadPkg
|
||||
|
||||
ifeq ($(CONFIG_EDK2_UEFIPAYLOAD),y)
|
||||
BUILD_STR += -p UefiPayloadPkg/UefiPayloadPkg.dsc
|
||||
BUILD_STR += -p $(PAYLOAD_PKG)/$(PAYLOAD_PKG).dsc
|
||||
endif
|
||||
BUILD_STR += -t GCC
|
||||
BUILD_STR += -D BOOTLOADER=COREBOOT
|
||||
@@ -195,7 +197,7 @@ ifneq ($(CONFIG_EDK2_CUSTOM_BUILD_PARAMS),)
|
||||
BUILD_STR += $(CONFIG_EDK2_CUSTOM_BUILD_PARAMS)
|
||||
endif
|
||||
|
||||
all: UefiPayloadPkg
|
||||
all: $(PAYLOAD_PKG)
|
||||
|
||||
$(WORKSPACE):
|
||||
mkdir $(WORKSPACE)
|
||||
@@ -223,8 +225,8 @@ $(EDK2_PATH): $(WORKSPACE)
|
||||
fi
|
||||
cd $(EDK2_PATH); \
|
||||
git checkout MdeModulePkg/Logo/Logo.bmp > /dev/null 2>&1 || true; \
|
||||
if [ -e UefiPayloadPkg/ShimLayer/UniversalPayload.o ]; then \
|
||||
rm UefiPayloadPkg/ShimLayer/UniversalPayload.o; \
|
||||
if [ -e $(PAYLOAD_PKG)/ShimLayer/UniversalPayload.o ]; then \
|
||||
rm $(PAYLOAD_PKG)/ShimLayer/UniversalPayload.o; \
|
||||
fi; \
|
||||
echo " Fetching new commits from $(CONFIG_EDK2_REPOSITORY)"; \
|
||||
git fetch origin 2>/dev/null; \
|
||||
@@ -253,8 +255,8 @@ logo: $(EDK2_PATH)
|
||||
gop_driver: $(EDK2_PATH)
|
||||
if [ -n "$(CONFIG_EDK2_GOP_DRIVER)" ]; then \
|
||||
echo "Using GOP driver $(CONFIG_EDK2_GOP_FILE)"; \
|
||||
cp $(top)/$(CONFIG_EDK2_GOP_FILE) $(EDK2_PATH)/UefiPayloadPkg/IntelGopDriver.efi; \
|
||||
cp $(top)/$(CONFIG_INTEL_GMA_VBT_FILE) $(EDK2_PATH)/UefiPayloadPkg/vbt.bin; \
|
||||
cp $(top)/$(CONFIG_EDK2_GOP_FILE) $(EDK2_PATH)/$(PAYLOAD_PKG)/IntelGopDriver.efi; \
|
||||
cp $(top)/$(CONFIG_INTEL_GMA_VBT_FILE) $(EDK2_PATH)/$(PAYLOAD_PKG)/vbt.bin; \
|
||||
fi; \
|
||||
|
||||
ipxe_rom: $(EDK2_PATH)
|
||||
@@ -307,49 +309,49 @@ prep: $(EDK2_PATH) $(EDK2_PLATFORMS_PATH) clean checktools logo gop_driver ipxe_
|
||||
source $(EDK2_PATH)/edksetup.sh; \
|
||||
unset CC; $(MAKE) -C $(EDK2_PATH)/BaseTools 2>&1; \
|
||||
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd: \
|
||||
$(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd: \
|
||||
prep print
|
||||
cd $(WORKSPACE); \
|
||||
source $(EDK2_PATH)/edksetup.sh; \
|
||||
echo -n "EDK2: Building... "; \
|
||||
build -a IA32 -a X64 -b $(RELEASE_STR) $(BUILD_STR) \
|
||||
-y $(WORKSPACE)/Build/UefiPayloadPkgX64/UEFIPAYLOAD.txt; \
|
||||
-y $(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/UEFIPAYLOAD.txt; \
|
||||
if [ ! -f $@ ]; then \
|
||||
echo "Failed!"; \
|
||||
exit 1; \
|
||||
fi
|
||||
echo "Success!"; \
|
||||
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/UniversalPayload.elf: \
|
||||
$(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/UniversalPayload.elf: \
|
||||
prep print
|
||||
cd $(WORKSPACE); \
|
||||
source $(EDK2_PATH)/edksetup.sh; \
|
||||
echo -n "EDK2: Building... "; \
|
||||
$(EDK2_PATH)/UefiPayloadPkg/UniversalPayloadBuild.sh -a IA32 -b $(RELEASE_STR) $(BUILD_STR)
|
||||
$(EDK2_PATH)/$(PAYLOAD_PKG)/UniversalPayloadBuild.sh -a IA32 -b $(RELEASE_STR) $(BUILD_STR)
|
||||
if [ ! -f $@ ]; then \
|
||||
echo "Failed!"; \
|
||||
exit 1; \
|
||||
fi
|
||||
echo "Success!"; \
|
||||
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll: \
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/UniversalPayload.elf prep
|
||||
cd $(WORKSPACE)/Build/UefiPayloadPkgX64 && \
|
||||
$(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/$(RELEASE_STR)_GCC/IA32/$(PAYLOAD_PKG)/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll: \
|
||||
$(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/UniversalPayload.elf prep
|
||||
cd $(WORKSPACE)/Build/$(PAYLOAD_PKG)X64 && \
|
||||
$(OBJCOPY) -I binary UniversalPayload.elf -O elf32-i386 -B i386 \
|
||||
$(EDK2_PATH)/UefiPayloadPkg/ShimLayer/UniversalPayload.o; \
|
||||
$(EDK2_PATH)/$(PAYLOAD_PKG)/ShimLayer/UniversalPayload.o; \
|
||||
cd $(WORKSPACE) && \
|
||||
source $(EDK2_PATH)/edksetup.sh; \
|
||||
build -p UefiPayloadPkg/UefiPayloadPkg.dsc -b $(RELEASE_STR) -a IA32 -a X64 \
|
||||
-m UefiPayloadPkg/ShimLayer/ShimLayer.inf \
|
||||
build -p $(PAYLOAD_PKG)/$(PAYLOAD_PKG).dsc -b $(RELEASE_STR) -a IA32 -a X64 \
|
||||
-m $(PAYLOAD_PKG)/ShimLayer/ShimLayer.inf \
|
||||
-t COREBOOT -D BOOTLOADER=COREBOOT -D SHIMLAYER=TRUE \
|
||||
-y $(WORKSPACE)/Build/UefiPayloadPkgX64/ShimLayer.txt
|
||||
-y $(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/ShimLayer.txt
|
||||
|
||||
UefiPayloadPkg: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd
|
||||
mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd \
|
||||
$(PAYLOAD_PKG): $(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd
|
||||
mv $(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd \
|
||||
../../../build/UEFIPAYLOAD.fd
|
||||
|
||||
UniversalPayload: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll
|
||||
mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll \
|
||||
UniversalPayload: $(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/$(RELEASE_STR)_GCC/IA32/$(PAYLOAD_PKG)/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll
|
||||
mv $(WORKSPACE)/Build/$(PAYLOAD_PKG)X64/$(RELEASE_STR)_GCC/IA32/$(PAYLOAD_PKG)/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll \
|
||||
../../../build/ShimmedUniversalPayload.elf
|
||||
|
||||
clean:
|
||||
@@ -358,4 +360,4 @@ clean:
|
||||
distclean:
|
||||
rm -rf $(WORKSPACE)
|
||||
|
||||
.PHONY: $(EDK2_PATH) checktools logo UefiPayloadPkg UniversalPayload clean distclean
|
||||
.PHONY: $(EDK2_PATH) checktools logo $(PAYLOAD_PKG) UniversalPayload clean distclean
|
||||
|
||||
Reference in New Issue
Block a user