Releases: imbushuo/boot-shim
Releases · imbushuo/boot-shim
ELF ARM64 Variant
This version of Boot Shim executes the SCM call after loading ELF64 file (not ELF32) on supported devices, for example, Lumia 950 / 950 XL.
Non-ARM64 or ELF32 files are not supported. Please use previous releases instead.
ELF Variant 2.1
Removed size consistency check.
ELF Variant 2
This release fixes random crash by ensuring memory initialization and cache write-back.
ELF Variant 1
I've updated my boot-shim (GitHub:imbushuo/boot-shim) to enable bootstrapping of random ARM32 ELF applications in Windows Boot Manager (UEFI) environment. There are a few requirements for such applications:
- There must be a LOAD section has
p_paddr
andp_vaddr
matches program entry point address (e_entry
). - LOAD section must have
p_paddr
equals top_vaddr
(identity mapping requirements). - LOAD section must reside in device's usable memory region (not TZ apps, FrameBuffer, etc.) That means p_paddr must larger or equal (not likely) to device's memory base, and
p_addr
+p_memsz
must not go out of device's memory region. - LOAD section must have
p_memsz
equals top_filesz
. - Only first LOAD section that meets these requirements will be loaded into memory.
e_machine
must beEM_ARM
.e_type
must beET_EXEC
.- Has name of
emmc_appsboot.mbn
in a firmware-recognized partition (it will try all partitions and use the first one available)
Currently post-processed Little Kernel meets these requirements (use the tool signlk
from CodeAurora/Linaro). It boots LK on Lumia 950XL. Feedback welcomed.