Skip to content

Releases: imbushuo/boot-shim

ELF ARM64 Variant

27 Jun 19:11
Compare
Choose a tag to compare
ELF ARM64 Variant Pre-release
Pre-release

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

25 Apr 04:09
Compare
Choose a tag to compare
ELF Variant 2.1 Pre-release
Pre-release

Removed size consistency check.

ELF Variant 2

05 Apr 16:06
Compare
Choose a tag to compare
ELF Variant 2 Pre-release
Pre-release

This release fixes random crash by ensuring memory initialization and cache write-back.

ELF Variant 1

31 Mar 00:38
Compare
Choose a tag to compare
ELF Variant 1 Pre-release
Pre-release

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 and p_vaddr matches program entry point address (e_entry).
  • LOAD section must have p_paddr equals to p_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 to p_filesz.
  • Only first LOAD section that meets these requirements will be loaded into memory.
  • e_machine must be EM_ARM.
  • e_type must be ET_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.