Hello EDK II community,
We are currently trying to build universal payload in ELF format and load it by SBL. The changes that we have made to the platform description file are available in this topic.
We are following the following steps:
Building universal payload: python UefiPayloadPkg/UniversalPayloadBuild.py -a X64 -b DEBUG -t GCC5
(build log available in attachments).
Building SBL with ELF payload: python BuildLoader.py build adls -p "OsLoader.efi:LLDR:Lz4;UEFIPAYLOAD.elf:UEFI:Lzma"
(build log available in attachments).
Stitching SBL bin and IFWI, flashing into chip and trying load.
We are use debugger and view that: NormalBootPath()
(/sbl/BootloaderCorePkg/Stage2/Stage2.c) loads payload (Dst = (UINT32 *)(UINTN)PreparePayload (Stage2Param)
), check format (IsElfFormat ((CONST UINT8 *)Dst)
) and jump into LoadElfPayload()
. LoadElfPayload()
(/sbl/BootloaderCommonPkg/Library/UniversalPayloadLib/UniversalPayloadLib.c) parses elf image by ParseElfImage()
(/sbl/BootloaderCommonPkg/Library/ElfLib/ElfLib.c) and fills ELF_IMAGE_CONTEXT
structure.
During the parsing, we noticed that ImageAddress
and PreferredImageAdress
are 0x0. This is the reason why LoadElfImage()
returns EFI_INVALID_PARAMETER.
Can You help us understand what our mistake is?
You receive all messages sent to this group.
View/Reply Online (#121154) |
|
Mute This Topic
| New Topic
Your Subscription |
Contact Group Owner |
Unsubscribe
[rebecca@openfw.io]