Bug #303

qemu: Failure to build TianoCore UefiPayload

Added by Julian Stecklina 7 months ago. Updated 6 months ago.

Status:NewStart date:03/29/2021
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:build system
Target version:-

Description

I'm trying to build Coreboot with the TianoCore payload (CONFIG_TIANOCORE_UEFIPAYLOAD=y). This fails early when building the bundled TianoCore:

Using EDK2 in-source Basetools
WORKSPACE: /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore
EDK_TOOLS_PATH: /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/BaseTools
CONF_PATH: /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf
Copying $EDK_TOOLS_PATH/Conf/build_rule.template
     to /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf/build_rule.txt
Copying $EDK_TOOLS_PATH/Conf/tools_def.template
     to /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf/tools_def.txt
Copying $EDK_TOOLS_PATH/Conf/target.template
     to /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf/target.txt
Build environment: Linux-5.11.9-200.fc33.x86_64-x86_64-with-glibc2.32
Build start time: 15:10:51, Mar.29 2021

WORKSPACE        = /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore
EDK_TOOLS_PATH   = /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/BaseTools
CONF_PATH        = /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf
PYTHON_COMMAND   = /usr/bin/python3.9


build.py...
 : error 000E: File/directory not found in workspace
    /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc

- Failed -
Build end time: 15:10:51, Mar.29 2021
Build total time: 00:00:00

I've attached my config and the full build output. I'm building on Fedora 33 on x86_64.

coreboot-config - Coreboot configuration file (20.5 KB) Julian Stecklina, 03/29/2021 03:18 PM

build.log Magnifier (90.8 KB) Julian Stecklina, 03/29/2021 03:31 PM

History

#1 Updated by Lance Zhao 6 months ago

Just tried myself and build is passing for me. Though from log that looks a little bit odd
/home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc****

But if we take a look at the Makefile line 49
https://elixir.bootlin.com/coreboot/latest/source/payloads/external/tianocore/Makefile

ifeq ($(CONFIG_TIANOCORE_COREBOOTPAYLOAD),y)
ifeq ($(CONFIG_TIANOCORE_TARGET_IA32), y)
ARCH=-a IA32 -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
else
ARCH=-a IA32 -a X64 -p CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc
endif
else
ARCH=-a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc
endif

Build will select UefiPayloadPkg.dsc, not sure how come they can select UefiPayloadPkgIa32X64.dsc

Although looks like current code need to change, cause the combination of TIANOCORE_TARGET_IA32 + TIANOCORE_UEFIPAYLOAD is misssing.

Julian Stecklina wrote:

I'm trying to build Coreboot with the TianoCore payload (CONFIG_TIANOCORE_UEFIPAYLOAD=y). This fails early when building the bundled TianoCore:

Using EDK2 in-source Basetools
WORKSPACE: /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore
EDK_TOOLS_PATH: /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/BaseTools
CONF_PATH: /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf
Copying $EDK_TOOLS_PATH/Conf/build_rule.template
     to /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf/build_rule.txt
Copying $EDK_TOOLS_PATH/Conf/tools_def.template
     to /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf/tools_def.txt
Copying $EDK_TOOLS_PATH/Conf/target.template
     to /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf/target.txt
Build environment: Linux-5.11.9-200.fc33.x86_64-x86_64-with-glibc2.32
Build start time: 15:10:51, Mar.29 2021

WORKSPACE        = /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore
EDK_TOOLS_PATH   = /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/BaseTools
CONF_PATH        = /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/Conf
PYTHON_COMMAND   = /usr/bin/python3.9


build.py...
 : error 000E: File/directory not found in workspace
  /home/julian/src/own/coreboot/payloads/external/tianocore/tianocore/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc

- Failed -
Build end time: 15:10:51, Mar.29 2021
Build total time: 00:00:00

I've attached my config and the full build output. I'm building on Fedora 33 on x86_64.

Also available in: Atom PDF