All Projects → msm8953-mainline → lk2nd

msm8953-mainline / lk2nd

Licence: Unknown, GPL-2.0 licenses found Licenses found Unknown LICENSE GPL-2.0 COPYING
Secondary little kernel (lk) bootloader for Qualcomm MSM8953 devices

Projects that are alternatives of or similar to lk2nd

XLR8
Android Fastboot Utility Tool-Can do everything xD
Stars: ✭ 27 (-25%)
Mutual labels:  bootloader, fastboot
Motorola-Moto-E-condor-unbrick
Tools for Motorola Moto E XT1021, XT1022, XT1025 condor unbrick
Stars: ✭ 31 (-13.89%)
Mutual labels:  bootloader, fastboot
Elinux
嵌入式 Linux 知识库 (elinux.org) 中文翻译计划;本项目发起人发布了《360° 剖析 Linux ELF》视频课程,欢迎订阅:https://www.cctalk.com/m/group/88089283
Stars: ✭ 193 (+436.11%)
Mutual labels:  bootloader
MK404
A functional Simulator for Prusa (Mini/Einsy) Rambo based printers
Stars: ✭ 52 (+44.44%)
Mutual labels:  bootloader
DfuBootloader
STM32 USB device bootloader using DFU class interface
Stars: ✭ 79 (+119.44%)
Mutual labels:  bootloader
Slimbootloader
Visit http://slimbootloader.github.io for documentation
Stars: ✭ 206 (+472.22%)
Mutual labels:  bootloader
sicherboot
Unmaintained systemd-boot integration with secure boot support; consider https://github.com/Foxboron/sbctl instead.
Stars: ✭ 31 (-13.89%)
Mutual labels:  bootloader
Arduino boards
Board definitions for SparkFun-manufactured AVR, ARM, and ESP-based Arduino boards.
Stars: ✭ 189 (+425%)
Mutual labels:  bootloader
tenda-reverse
Reverse engineering, getting root access to Tenda MW6 wifi mesh router
Stars: ✭ 90 (+150%)
Mutual labels:  bootloader
esp-stm8-flasher
ESP8266 application for flashing STM8S via stm8-bootloader
Stars: ✭ 23 (-36.11%)
Mutual labels:  bootloader
pongloader
🏓 Pong in 512 bytes. (boot sector)
Stars: ✭ 86 (+138.89%)
Mutual labels:  bootloader
novaboot
A tool that automates booting of operating systems on target hardware or in qemu
Stars: ✭ 32 (-11.11%)
Mutual labels:  bootloader
Hekate
hekate - A GUI based Nintendo Switch Bootloader
Stars: ✭ 3,286 (+9027.78%)
Mutual labels:  bootloader
remote-pinetime-bot
Telegram Bot to flash and test PineTime firmware remotely
Stars: ✭ 23 (-36.11%)
Mutual labels:  bootloader
Asm Space Invaders
A small, bootable game written in x86 Assembly inspired by Space Invaders
Stars: ✭ 202 (+461.11%)
Mutual labels:  bootloader
stm32-usb-bootloader
This repository contains bootloader for stm32f1xx microcontrollers. It works for stm32f103ret6, but you can simply adopt it to any MCU supporting STM32 HAL library with USB and SD-card
Stars: ✭ 40 (+11.11%)
Mutual labels:  bootloader
Dapboot
DFU Bootloader for STM32 chips
Stars: ✭ 194 (+438.89%)
Mutual labels:  bootloader
Hackintosh-ASUS-A455LF-Notebook
EFI Folder for ASUS A455LF-WX039D Notebook Series with Clover/OpenCore Legacy or UEFI
Stars: ✭ 27 (-25%)
Mutual labels:  bootloader
efi
Ergonomic Rust framework for writing UEFI applications.
Stars: ✭ 44 (+22.22%)
Mutual labels:  bootloader
miniboot
🏗️ An I2C bootloader for Arduino.
Stars: ✭ 62 (+72.22%)
Mutual labels:  bootloader

lk2nd

lk2nd is a bootloader for Qualcomm MSM devices, based on the CodeAurora Little Kernel fork. It provides an Android Fastboot interface on devices where the stock bootloader does not provide Fastboot (e.g. Samsung).

lk2nd does not replace the stock bootloader. It is packaged into an Android boot image and then loaded by the stock bootloader as a "secondary" bootloader. The real Android boot image is placed into the boot partition with 1 MB offset, and then loaded by lk2nd.

Supported SoCs

  • MSM8952 (MSM8940)
  • MSM8953 (SDM450,SDM625,SDM626)
  • SDM632

Supported devices

  • Motorola Moto G4 Play (harpia)
  • Motorola Moto G5 Plus (potter)
  • Samsung Galaxy A3 (2015) - SM-A300FU
  • Samsung Galaxy A5 (2015) - SM-A500FU
  • Samsung Galaxy J5 (2016) - SM-J510FN
  • Samsung Galaxy S4 Mini Value Edition - GT-I9195I
  • Samsung Galaxy Tab A 8.0 LTE (2015) - SM-T357W
  • Samsung Galaxy Tab A 9.7 WiFi (2015) - SM-T550
  • Wileyfox Swift
  • Samsung Galaxy A6+ (2018) - SM-A605FN
  • Xiaomi Redmi 4X - santoni
  • Xiaomi Redmi Note 4X Snapdragon - mido
  • Xiaomi Redmi Note 5 / 5 Plus Snapdragon - vince
  • Meizu M6 Note - m1721
  • Motorola Moto G7 Power - ocean
  • Xiaomi Mi A2 Lite - daisy
  • Xiaomi Mi A1 - tissot
  • XIaomi Mi A2 Lite - daisy

Installation

  1. Download lk2nd.img (as of now there's no build available so you'll need to build it yourself.)
  2. Flash lk2nd.img using the stock flashing procedure:
  • Fastboot: fastboot flash boot lk2nd.img
  • Samsung: heimdall flash --BOOT lk2nd.img

Usage

lk2nd provides the standard Android fastboot protocol for flashing/booting Android boot images.

Press Volume Down while booting to enter Fastboot mode. Press Volume Up while booting to boot into Recovery mode.

Note: If your stock bootloader uses the same key combinations, you need to wait a bit before pressing the volume keys. Usually, waiting until the screen turns on and/or the device vibrates should be enough to make the stock bootloader ignore the keys.

fastboot flash lk2nd lk2nd.img can be used to update lk2nd directory from its fastboot interface.

Note: fastboot flash boot boot.img will flash the actual boot image with 1 MB offset into the boot partition. This is done to avoid replacing lk2nd (since it is also booted from the boot partition).

Other fastboot commands work normally.

Building

$ make TOOLCHAIN_PREFIX=arm-none-eabi- <SoC>-secondary

Requirements:

Replace TOOLCHAIN_PREFIX with the path to your tool chain. lk2nd.img is built and placed into build-<SoC>-secondary/lk2nd.img.

Porting

To other devices with supported Socs

  • Add a simple device tree to dts/. You just need model and the qcom,msm-id/qcom,board-id from downstream.

To other SoCs

  • Cherry-pick changes
  • Make some changes
  • Add secondary project config

(TODO: Document this properly)

Contact

Ping minecrell/Mis012/uknown/gavodavo on #postmarketos-mainline.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].