0.0.2
This is a smaller release, focusing mostly on an improved developer experience, better code organization and bug fixes.
What's Changed
Better Build Setup
k23 now has a much cleaner build setup using just
, nushell
and optionally nix
for dependency management.
# Run in QEMU
just run configs/riscv64-qemu.toml
# Runs tests in QEMU
just test configs/riscv64-qemu.toml
# And the basic check commands remain
just check configs/riscv64-qemu.toml
just clippy configs/riscv64-qemu.toml
just preflight
kconfig
Build Configuration System
Compile-time configuration is now done through the kconfig
system (not related to Linux's kconfig
) which let's you declare
configuration symbols in Rust code and configure them in a unified .toml
file:
#[kconfig_declare::symbol("kernel.stack-size-pages")]
pub const STACK_SIZE_PAGES: size = 32;
the above configuration symbol will read from the following .toml
file
[kernel]
stack-size-pages = 128