Clone this repo:
  1. d7d3261 Merge remote-tracking branch 'm/master' into upstreamlk by Arve Hjønnevåg · 2 days ago master
  2. 30b7adf [lib][io] Add WITHOUT_CONSOLE option. by Arve Hjønnevåg · 6 months ago tmp/upstream-rebase
  3. fc4f011 [arch][arm] Add option to enable shareable caches without smp support by Arve Hjønnevåg · 8 months ago
  4. 9b2165f [dev][arm_generic_timer] Add suspend hook and supporting routines by Michael Ryleev · 11 months ago
  5. 9d29f7c Add sscanf declaration, required by OpenSSL. by Shawn Willden · 1 year 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