LionOS v0.1.0 — Month 1: toolchain, launcher, bootloader handoff
First release of the from-scratch x86_64 kernel project. Everything below
actually boots and is verified in CI; run it with docker run --rm ghcr.io/ram1234598766-dotcom/lion-os/lion.
What's in this release
Toolchain & CI (Week 1)
- Rust nightly +
x86_64-unknown-nonefreestanding target, non-PIE kernel linked at 1 MiB. gitleakssecret-scanning pre-commit hook (verified: blocks a real-looking secret, allows a clean one through).- Kernel stub boots in QEMU and prints
LIONOS_INIT_OKover serial; CI boots headless and asserts the marker (positive and negative). docs/DEV_SETUP.mdcovers KVM vs TCG in WSL2 precisely.
lionos launcher CLI (Week 2)
lionos run/doctor/update(clap), QEMU argv built as a real vector (no shell interpolation).updateSHA-256-verifies disk downloads; a corrupted image is refused, never cached.- Cross-platform build matrix: Linux, Windows, macOS arm64; Linux e2e boots the kernel from a clean CI artifact.
Bootloader handoff (Week 3)
- The kernel consumes the bootloader's
BootInfo: the memory map is re-validated (defense in depth) and a summary is printed over serial (LIONOS_HANDOFF_OK). - Paging verified with gdb (CR4/CR3 + page-table walk; kernel identity-mapped).
- Fixed a silent-boot hang (non-aligned ELF segments); all LOAD segments are now 4KiB-aligned.
Refinement (Week 4)
- Kernel restructured to lib+bin; pure parsers (memory-map + framebuffer) are host-unit-tested (16 tests) and
cargo-fuzz'd (both targets clean). gitleaksfull-history scan clean;docs/ARCHITECTURE.md§1 documents the real layout.
Not in this release
- UEFI/GOP framebuffer handoff (resolution/pixel-format) —
BootInfoin the pinned bootloader has no framebuffer field; the contract is scaffolded and the handoff is planned with a bootloader upgrade. Seedocs/ARCHITECTURE.md§1. - No desktop/apps/userland yet — those are later months on the roadmap.
- The old Python desktop-OS line (v1.0.0–v2.0.7) was removed to start the from-scratch kernel.
Known infra note
- The Intel-macOS launcher build (
macos-13 x64) can queue for a long time waiting for a GitHub runner; it is decoupled from the Linux e2e gate.