Skip to content

LionOS v0.1.0

Latest

Choose a tag to compare

@ram1234598766-dotcom ram1234598766-dotcom released this 04 Aug 13:49

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-none freestanding target, non-PIE kernel linked at 1 MiB.
  • gitleaks secret-scanning pre-commit hook (verified: blocks a real-looking secret, allows a clean one through).
  • Kernel stub boots in QEMU and prints LIONOS_INIT_OK over serial; CI boots headless and asserts the marker (positive and negative).
  • docs/DEV_SETUP.md covers 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).
  • update SHA-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).
  • gitleaks full-history scan clean; docs/ARCHITECTURE.md §1 documents the real layout.

Not in this release

  • UEFI/GOP framebuffer handoff (resolution/pixel-format) — BootInfo in the pinned bootloader has no framebuffer field; the contract is scaffolded and the handoff is planned with a bootloader upgrade. See docs/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.