Hello,

I am new to EFI development and I am trying to implement measured boot and attestation using EDK2. Right now, I'm just trying to understand how to run non-application modules using the EDK2 Emulator.

I've built and run the Emulator successfully (Fedora 22 64-bit), and I've been able to run the HelloWorld.efi application successfully from the EDK2 shell. However, if I try to load a module that is not an application (for example, PeiCore.efi) using "load PeiCore.efi", I get the following output from gdb:

0x48ceb240 Loading <path>/edk2/Build/Emulator/DEBUG_GCC49/X64/MdeModulePkg/Core/Pei/PeiMain/DEBUG/PeiCore.dll with entry point 0x48ceb240
Loading driver at 0x00048CEB000 EntryPoint=0x00048CEB240 PeiCore.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 48E0CD18

Program received signal SIGSEGV, Segmentation fault.

Then, the gdb output shows a bunch of symbol tables being added, and finally stops with:

0x0000000048cee984 in PeiCoreBuildHobHandoffInfoTable (BootMode=0, MemoryBegin=0, MemoryLength=205)
    at <path>/edk2/MdeModulePkg/Core/Pei/Hob/Hob.c:150
150       Hob->Header.HobType      = EFI_HOB_TYPE_HANDOFF;
(gdb)

At this point, I have to quit GDB and close the emulator session. I get similar errors with other non-application modules. Am I doing this correctly? Can I load these images from the EFI shell prompt, or do they need to be loaded in a different manner? My end goal is to be able to use TcgPei.efi, which I believe is a PEIM for doing measurement and event logging.

David

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to