Clone this repo:
  1. af4bc41 make: link with ld.lld by Tri Vo · 3 weeks ago master
  2. fa6ed9f [dev][interrupt][arm_gic] Fix UBSan panic. by Andrew Walbran · 3 weeks ago
  3. db464e6 [clang][include][compiler.h] Enable __WARN_UNUSED_RESULT and STATIC_ASSERT by Arve Hjønnevåg · 3 weeks ago
  4. 9ccad1d Make GIC FIQ suspend/resume UBSan clean by Matthew Maurer · 3 weeks ago
  5. 01d4316 [arch] Do not search for GCC by Nick Bray · 7 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