Boot Shim (ELF Loader) / Little Kernel for select Lumia models

imbushuo

Member
Nov 21, 2015
16
48
0
These projects are intended for developers only. If you are familiar with Android phones, you probably know what Little Kernel does. This port of Little Kernel is capable of booting Android Linux Kernel images (though I haven't tested it yet, need to set up the build environment) and ARM64 ELF images on Lumia 950 XL via SCM call. I used it to bootstrap my ARM64 variant UEFI on Lumia 950 XL (not released yet).

Boot Shim is a Windows Boot Manager application that takes control from Windows Boot Manager, loads ELF image, kicks UEFI out and bootstraps it. To use it, you have to unlock your Lumia phone via WPInternals. Then place BootShim.efi to somewhere, and add a new BCD entry (set NOINTEGRITYCHECKS and TESTSIGNING).

Source and binary for Boot Shim: https://github.com/imbushuo/boot-shim (branch msm8994)

Source for LK: https://github.com/imbushuo/lk

Refer to the LK note for Dragonboard 410c for information regarding toolchains, LK build and misc info. Currently, Lumia 930 and 950XL are validated (msm8974-test and msm8994-test-2 branch).

All functionalities in LK is available, including USB and the display panel (though I used passed FrameBuffer pointer from UEFI, which means LK doesn't deal with DSI panel configuration. Hence you have a BGRA8888 FB, not typical to see in Android devices' bootloaders). Fastboot is available. However, the nature of EFI framebuffer forced you to load the kernel at somewhere higher than EFI FB address. If you are going to boot Linux kernel, you'd better take care of this.

Go ahead and see what you can do with Lumia!
 

R0b0t1

New member
Jul 18, 2017
2
0
0
Hello,

I appreciate your work. Can you give a brief outline of what changes might be necessary to support Lumia 950s? Unfortunately I have only been able to get hold of a 950. I looked through your repositories and unfortunately nothing stood out.

If I understand properly, the boot process is as follows:
  1. Windows Boot Manager
  2. UEFI
  3. LK
  4. System

Do you know how step 1 is implemented? Can the Windows Boot Manager be replaced? I am aware of the boot process of at least the 410c (I have a DragonBoard) but do not understand how the stages correspond to the WP10 boot process.

Cheers,
R0b0t1
 

XDASumiaki

Member
Jan 11, 2018
22
5
0
This tool is for Gods.
I appreciate this project.
I had no time and got bored, I bootstrapped Linux kernel from grub2 succesfully on l640xl, but I abandoned it.
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone