mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-24 11:14:01 +00:00
接着上个
This commit is contained in:
67
clks.local.bak/README.md
Normal file
67
clks.local.bak/README.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# CLKS Kernel
|
||||
|
||||
[English](README.md) | [简体中文](README.zh-CN.md)
|
||||
|
||||
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
|
||||
|
||||
```text
|
||||
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:
|
||||
|
||||
```bash
|
||||
make kernel CLEONOS_ENABLE=OFF
|
||||
```
|
||||
|
||||
or via CLKS wrapper:
|
||||
|
||||
```bash
|
||||
make -C clks kernel
|
||||
```
|
||||
|
||||
## Menuconfig (CLKS Scope)
|
||||
|
||||
```bash
|
||||
make menuconfig-clks
|
||||
```
|
||||
|
||||
or:
|
||||
|
||||
```bash
|
||||
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/` and `configs/menuconfig/`
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0 (same as project root).
|
||||
Reference in New Issue
Block a user