UEFI bootup on AArch64

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
OctoOSDev
Posts: 1
Joined: Thu Jan 21, 2021 10:33 am

UEFI bootup on AArch64

Post by OctoOSDev »

Hello,

i am trying to port a research operating system from x64 to AArch64. And encountered the problem that objcopy has no target efi-app-aarch64. Even pei-arm-little seems to be broken with made up magic numbers. I have found three possible approaches to deal with that.

The easiest way seems to pluck elf2efi from iPXE and extend it. Is it sufficient to copy the content unsupported sections from the ELF to the PE and set the right characteristics?
Gnuefi generates the efi header in assembly and relocates itself. But everything except the data seems to be put in the text section.
The most elegant way seems to me to use clang, lld and the gnuefi headers. But I can't switch from GCC to clang without a lot of effort, otherwise I would have to rewrite our plugins.

Did I miss something? A bootloader or other project that can load ELFs like under x64? I just want to get the contents of my ELF loaded into memory without making too big changes to the section structure and at the same time I would like to have access to stuff like the device tree and the memory map.

Any advice is appreciated.
Post Reply