Clone this repo:
  1. 50d3d5f [lib][heap][miniheap] Remove retry limit after growing heap by Arve Hjønnevåg · 4 weeks ago master
  2. a0879f9 Move reg.h into shared include directory. by Nick Bray · 6 weeks ago
  3. 068c29e [kernel][vm] Disable ubsan check by Arve Hjønnevåg · 6 weeks ago
  4. dbe9663 Add TLS entry for UBSan state by Matthew Maurer · 8 weeks ago
  5. 661cf00 [lib][heap][miniheap] ensure allocations are naturally aligned by Nick Bray · 9 weeks 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