Skip to content

Releases: 0xklkuo/rustos

v0.1.0-alpha.1 — first public foundation release

24 Apr 22:07

Choose a tag to compare

Summary

This is the first public release of rustos.

rustos is a minimal, educational, and maintainable operating system project in Rust. The project is designed to help developers learn modern operating system fundamentals through a small real codebase, explicit subsystem boundaries, and reproducible workflows.

This release marks the project as publicly launch-ready on GitHub while keeping expectations clear: rustos is still early-stage, experimental, and educational.

Highlights

  • minimal bootable Rust UEFI kernel foundation
  • direct QEMU workflow
  • bounded QEMU smoke testing
  • controlled breakpoint exception smoke test
  • real UEFI memory-map discovery
  • minimal paging direction boundary
  • minimal Unix-like boundary starter for:
    • syscalls
    • tasks
    • descriptor-like handles
  • consolidated contributor-facing documentation
  • Rust-native xtask workflow for local validation

What Works Today

  • building the workspace with the documented local workflow
  • running formatting, linting, and host-side unit tests through xtask
  • booting the kernel in QEMU
  • validating the normal boot path with a bounded QEMU smoke test
  • validating the controlled breakpoint path with a bounded exception smoke test
  • studying host-testable pure logic in nucleus/
  • studying firmware-facing runtime code in kernel/

Validation

The project currently validates through:

  • cargo run -p xtask -- check
  • cargo run -p xtask -- fmt
  • cargo run -p xtask -- lint
  • cargo run -p xtask -- test-unit
  • cargo run -p xtask -- test-qemu
  • cargo run -p xtask -- test-exception

CI is aligned with the same workflow shape.

Known Limitations

This release is intentionally minimal.

It does not provide:

  • user-mode execution
  • a real syscall ABI
  • multitasking or scheduling
  • a filesystem implementation
  • networking
  • descriptor tables
  • heap allocation
  • page-table management
  • POSIX compatibility

It should be treated as an educational foundation, not a production operating system.

Toolchain Notes

rustos currently uses a pinned nightly Rust toolchain.

Nightly is required because the current real x86_64 breakpoint-handler path depends on the unstable x86-interrupt ABI. The project keeps the nightly-only surface as small as practical.

Documentation

Start with:

  • README.md
  • docs/README.md
  • docs/architecture.md
  • docs/roadmap.md
  • docs/testing.md

Next Direction

The next work will continue to focus on:

  • keeping the project minimal and teachable
  • tightening documentation and contributor experience
  • growing the Unix-like boundary carefully
  • avoiding premature subsystem complexity

Thanks

Thanks for checking out rustos.
Contributions, questions, and focused feedback are welcome.