For IA32 build failure, it should be relating to the driver component section is X64 only. We have not verified/supported IA32 build for UefiPayloadPkg DXE phase drivers, but I think X64 build should work as we have platforms using X64 build. [Components.X64, Components.AARCH64] … MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf From: devel@edk2.groups.io On Behalf Of Stepan via groups.io Sent: Monday, March 17, 2025 9:21 PM To: Stepan ; devel@edk2.groups.io Subject: [edk2-devel] UefiPayloadPkg debugging Hello EDK2 community, I found out that it depends on the platform. I work with next changes: Index: UefiPayloadPkg/UefiPayloadPkg.dsc IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc --- a/UefiPayloadPkg/UefiPayloadPkg.dsc (revision a5ab82f61077e869abfeb1849f7b6e820c7fefd8) +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc (revision 28da9ed468c5025c8bc882109a44d6b64444ebf1) @@ -26,7 +26,7 @@ FLASH_DEFINITION = UefiPayloadPkg/UefiPayloadPkg.fdf PCD_DYNAMIC_AS_DYNAMICEX = TRUE - DEFINE SOURCE_DEBUG_ENABLE = FALSE + DEFINE SOURCE_DEBUG_ENABLE = TRUE DEFINE PS2_KEYBOARD_ENABLE = TRUE DEFINE RAM_DISK_ENABLE = FALSE DEFINE SIO_BUS_ENABLE = TRUE @@ -57,8 +57,8 @@ # ELF: Build UniversalPayload file as UniversalPayload.elf # FIT: Build UniversalPayload file as UniversalPayload.fit # - DEFINE UNIVERSAL_PAYLOAD = TRUE - #DEFINE UNIVERSAL_PAYLOAD = FALSE + #DEFINE UNIVERSAL_PAYLOAD = TRUE + DEFINE UNIVERSAL_PAYLOAD = FALSE DEFINE UNIVERSAL_PAYLOAD_FORMAT = ELF # @@ -163,6 +163,8 @@ DEFINE SECURE_BOOT_ENABLE = FALSE [BuildOptions] +# GCC:DEBUG_*_*_CC_FLAGS = -g -Od +# MSFT:DEBUG_*_*_CC_FLAGS = /Od /Oy- *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES !if $(USE_CBMEM_FOR_CONSOLE) == FALSE GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG @@ -293,6 +295,7 @@ !if $(SOURCE_DEBUG_ENABLE) == TRUE PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf + DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !else PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf @@ -306,7 +309,7 @@ !endif !endif - DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf !if $(LOCKBOX_SUPPORT) == TRUE LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf !else @@ -370,7 +373,10 @@ HobLib|UefiPayloadPkg/Library/PayloadEntryHobLib/HobLib.inf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + !if $(SOURCE_DEBUG_ENABLE) == TRUE + DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf + !endif !if $(MULTIPLE_DEBUG_PORT_SUPPORT) == TRUE SerialPortLib|UefiPayloadPkg/Library/BaseSerialPortLibHob/BaseSerialPortLibHob.inf !endif @@ -453,7 +459,8 @@ SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf - DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf I used the command build -a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -Y COMPILE_INFO -y BuildReport.log for building edk2 for x86_64. Debuuging for this plarform WORKING!!! I attach log below. I used the command build -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -Y COMPILE_INFO -y BuildReport.log for building edk2 for x64. Debuuging for this plarform NOT WORKING!!! I attach log below. The build for the x86 platform failed. I use command build -a IA32 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -Y COMPILE_INFO -y BuildReport.log . Result is: Build environment: Linux-6.8.0-52-generic-x86_64-with-glibc2.35 Build start time: 11:15:52, Mar.18 2025 WORKSPACE = /edk EDK_TOOLS_PATH = /edk/BaseTools CONF_PATH = /edk/Conf PYTHON_COMMAND = python3 Processing meta-data Architecture(s) = IA32 .Build target = DEBUG Toolchain = GCC5 Active Platform = /edk/UefiPayloadPkg/UefiPayloadPkg.dsc build.py... : error F001: Module /edk/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf NOT found in DSC file; Is it really a binary module? - Failed - Build end time: 11:15:53, Mar.18 2025 Build total time: 00:00:00 I can't figure out why this is happening. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#121205): https://edk2.groups.io/g/devel/message/121205 Mute This Topic: https://groups.io/mt/111746873/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-