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.

_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#121205) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_