Clone this repo:
  1. ee23583 lk: Add kernel BTI support. by Mike McTernan · 10 weeks ago master
  2. 1279a44 arch: arm64: check whether MTE is functional by Marco Nelissen · 6 weeks ago
  3. 2c25c65 kernel: arm64: Add Branch Target Exception handler. by Mike McTernan · 10 weeks ago
  4. 99cff63 include/shared: Align symbol size inserted by INCBIN_ALIGNED to 4 bytes by Ayrton Munoz · 6 weeks ago
  5. 091ac71 kernel: thread: Add platform_cpu_priority_set api. by Sudhin Mishra · 4 months ago


The LK embedded kernel. An SMP-aware kernel designed for small systems.

See for the latest version.

See for documentation.


Build Status

To build and test for ARM on linux

  1. install or build qemu. v2.4 and above is recommended.
  2. install gcc for embedded arm (see note 1)
  3. run scripts/do-qemuarm (from the lk directory)
  4. you should see ‘welcome to lk/MP’

This will get you a interactive prompt into LK which is running in qemu arm machine ‘virt’ emulation. type ‘help’ for commands.

note 1: for ubuntu: sudo apt-get install gcc-arm-none-eabi or fetch a prebuilt toolchain from