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 <devel@edk2.groups.io>
On Behalf Of Stepan via groups.io
Sent: Monday, March 17, 2025 9:21 PM
To: Stepan <radio-fan@mail.ru>; 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.