Clone this repo:
  1. 65c0ccd Stop adding userspace include directories to kernel build. by Nick Bray · 11 days ago master
  2. b533a90 Eliminate a few dead header includes. by Nick Bray · 11 days ago
  3. 1d2aeba [lib][heap] fix declaration of malloc functions in heap.h by Nick Bray · 2 weeks ago
  4. 5098a84 Use new include paths in files shared with userspace. by Nick Bray · 3 weeks ago
  5. e5b22ea Split global headers into different directories. by Nick Bray · 3 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