CLKS is the standalone kernel repository used by CLeonOS. It contains architecture startup code, interrupt handling, memory management, scheduler, syscall/runtime layers, storage, TTY/console, and kernel support libraries.
CLKS now builds as an independent repository.
- Kernel build no longer depends on CLeonOS userland sources.
- menuconfig assets are local to this repository (
configs/menuconfig,scripts/menuconfig.py). - CMake helper scripts are local to this repository (
cmake/).
.
|- arch/ # Architecture startup/linker/interrupt glue
|- include/ # Public kernel headers
|- kernel/ # Core kernel subsystems
|- rust/ # Kernel Rust staticlib
|- third_party/ # Embedded third-party sources
|- cmake/ # Build helper scripts (log/check/symbol generation)
|- configs/menuconfig/ # CLKS feature metadata and generated config outputs
|- scripts/ # menuconfig launcher
|- .github/workflows/ # CI (build-kernel/style-check)
|- CMakeLists.txt # Standalone CLKS CMake entry
|- Makefile # Convenience wrapper
make kernelBuild symbols map:
make kernel-symbolsDirect CMake:
cmake -S . -B build-cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake --target kernelmake menuconfigor GUI mode:
make menuconfig-guiOutputs are generated under configs/menuconfig/.
build-kernel workflow builds clks_kernel.elf and kernel.sym on push/PR.
In the CLeonOS mono-repo, CLKS should be referenced as a git submodule. The main repo should only track the submodule pointer and delegate kernel build to this repo.
Apache-2.0.