kernel is the policy-minimal microkernel core in the EriX boot chain.
- Rust 100%
| .github | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| linker.ld | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
EriX Kernel
kernel is the policy-minimal microkernel core in the EriX boot chain.
Current priority is deterministic bootstrap from verified boot.img handoff to a validated root task handoff.
Scope
- accept and validate bootloader handoff (
bl -> kernel) - initialize minimal CPU/interrupt/time primitives needed for bootstrap
- manage core kernel objects and capability semantics
- construct and transfer
kernel -> roothandoff
Out of Scope
- system policy
- service lifecycle policy
- high-level memory/process policy (owned by user-space daemons)
Interfaces
- input:
docs/handoff/bl-to-kernel.md - output:
docs/handoff/kernel-to-root.md - shared wire/layout helpers:
lib-handoff
Invariants
- no ambient authority
- explicit capability transfer only
- deterministic bootstrap behavior on success/failure paths
- architecture-portable design with current x86_64/UEFI bring-up focus
Build Status
Current implementation status:
- strict
bl -> kernelingress wrapper and deterministic kernel markers - memory reservation extraction and untyped seed derivation (RAM + device)
- bootstrap object/capability setup for root CSpace/VSpace/TCB/endpoint/untyped pool
kernel -> roothandoff builder withlib-handoffvalidation roundtrip- default kernel bootstrap path selects required root module and attempts CPL3 root launch
- runtime endpoint path no longer synthesizes non-root service replies in normal builds; service interactions use endpoint queue/call-recv-reply mechanics
- feature-gated rootd integration smoke syscall path (
kernel-rootd-smoke-test) for deterministic VM completion:- accepts
ROOTD_STAGE:*progress reports and emits deterministic stage markers without exiting - rootd ready ->
0x10 - rootd internal failure/unknown status ->
0x13 - downstream service bootstrap failure ->
0x14
- accepts
- additive runtime-mode kernel rootd report path (
kernel-rootd-runtime) is now the canonical feature;kernel-rootd-smoke-testremains as a compatibility alias used by smoke/negative integration scenarios - dev-profile early console feature (
kernel-dev-console) mirrors kernel markers to framebuffer vialib-consoleuntilROOTD_REPORT_STAGE_FBCOND_READY - release-profile runtime can disable early kernel serial/framebuffer sink output while keeping userspace console services active
- rootd stage-marker mapping includes phase3 input stages
(
DRV_I8042_READY,DRV_PS2_KEYBOARD_READY,DRV_PS2_MOUSE_READY,INPUTD_READY,INPUT_ROUTING_READY,CONSOLE_INPUT_READY) - kernel-control op
READ_PLATFORM_CAPS(30) exposes deterministic platform-presence bits for probe-gated driver activation - kernel-origin failure class is
0x12in kernel binary integration flow - scheduler/SMP/exception selftests retained behind explicit feature flags
Related Repositories
bootloaderrootdlib-handoffdocs/handoff