Clone this repo:
  1. 90e1e11 [arch][arm] Call panic instead of platform_halt by Arve Hjønnevåg · 4 weeks ago master
  2. 30789f7 [kernel] Add thread flag to exit thread on panic by Arve Hjønnevåg · 4 weeks ago
  3. c0b7e51 [kernel][thread] Add thread_sleep_until_ns by Arve Hjønnevåg · 9 days ago
  4. bd61ec5 [arch][arm/arm64] Call trusty_app_crash for user-space crashes by Arve Hjønnevåg · 6 weeks ago
  5. 7eb7bde Update language to comply with Android’s inclusive language guidance by Wenhao Wang · 8 days 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