mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-24 11:14:01 +00:00
CLKS Kernel
CLKS is the kernel component of the CLeonOS project.
It includes architecture startup code, interrupt handling, memory management, scheduler, syscall layer, storage, TTY/console, and core runtime services.
Status
CLKS can be built in kernel-only mode from the current mono-repo, but it is not yet a fully independent repository build system.
- Kernel-only mode is available.
- Userland/ISO targets are optional and can be disabled.
- Some build scripts are still shared at repository root (
cmake/,configs/,scripts/).
Directory Layout
clks/
|- arch/ # Architecture-specific startup and low-level code
|- include/ # Public kernel headers
|- kernel/ # Core kernel subsystems
|- rust/ # Rust staticlib used by kernel
|- third_party/ # Embedded third-party sources used by kernel
|- CMakeLists.txt # Kernel build rules
|- Makefile # Kernel-focused wrapper (delegates to root build)
Build (Kernel-Only)
From repository root:
make kernel CLEONOS_ENABLE=OFF
or via CLKS wrapper:
make -C clks kernel
Menuconfig (CLKS Scope)
make menuconfig-clks
or:
make -C clks menuconfig
This updates CLKS-focused config outputs under configs/menuconfig/ (including config.clks.cmake).
Notes for Future Split
To make CLKS a standalone repo, the next required step is moving shared build assets into clks/ (or vendoring equivalents), especially:
cmake/helper scripts (log.cmake, symbol generation, tool checks)- boot config and image packaging pieces currently under
configs/ - menuconfig launcher and feature metadata currently under
scripts/andconfigs/menuconfig/
License
Apache-2.0 (same as project root).