1# The Little Kernel Embedded Operating System 2 3The LK kernel is an SMP-aware kernel designed for small systems ported to a variety of platforms and cpu architectures. 4 5See https://github.com/littlekernel/lk for the latest version. 6 7### High Level Features 8 9- Fully-reentrant multi-threaded preemptive kernel 10- Portable to many 32 and 64 bit architectures 11- Support for wide variety of embedded and larger platforms 12- Powerful modular build system 13- Large number of utility components selectable at build time 14 15### Supported architectures 16 17- ARM32 18- - Cortex-M class cores (armv6m - armv8m) 19- - ARMv7+ Cortex-A class cores 20- ARM64 21- RISC-V 32 and 64bit bit in machine and supervisor mode 22- x86-32 and x86-64 386 up through modern cores 23- microblaze 24- MIPS 25- OpenRISC 1000 26 27### [TODO](docs/todo.md) 28 29### To build and test for ARM on linux 30 311. install or build qemu. v2.4 and above is recommended. 322. install gcc for embedded arm (see note 1) 333. run scripts/do-qemuarm (from the lk directory) 344. you should see 'welcome to lk/MP' 35 36This will get you a interactive prompt into LK which is running in qemu 37arm machine 'virt' emulation. type 'help' for commands. 38 39Note: for ubuntu x86-64: 40sudo apt-get install gcc-arm-none-eabi 41or fetch a prebuilt toolchain from 42https://newos.org/toolchains/x86_64-elf-10.2.0-Linux-x86_64.tar.xz 43