Clone this repo:
  1. c482ab4 [arch][x86] Update interrupt handling by Zhong,Fangjian · 6 months ago master
  2. 90897f0 [arch][x86] Update spin lock definition by Zhong,Fangjian · 11 months ago
  3. 014bf6d Support partial writes to IO handles. by Nick Bray · 8 days ago
  4. ee93840 [lib][debug] Make panic(...) invoke print once. by Nick Bray · 9 days ago
  5. bb0c65c [kernel][vm] Allow setting the address space back to the kernel by Arve Hjønnevåg · 12 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