Getting Started
Lych is a hobby operating system for ARM64 written in Rust. Before contributing, please familiarize yourself with the project by reading the About page and the README.
All contributors are expected to follow our Code of Conduct.
Thank you for considering contributing to Lych OS!
Lych is a hobby operating system for ARM64 written in Rust. Before contributing, please familiarize yourself with the project by reading the About page and the README.
All contributors are expected to follow our Code of Conduct.
To build and test Lych locally, you'll need:
rust-toolchain.toml, with rust-src component and aarch64-unknown-none targetqemu-system-aarch64)gdb-multiarch for debuggingInstall Rust prerequisites:
rustup component add rust-src rustup target add aarch64-unknown-none
Install QEMU and GDB (example for Debian/Ubuntu):
apt install qemu-system-arm gdb-multiarch
Windows: Use .\scripts\lych.ps1 from PowerShell or ./scripts/lych from Git Bash.
./scripts/lych build./scripts/lych run./scripts/lych debug + ./scripts/lych gdb./scripts/lych fmt./scripts/lych fmt-checkrustfmt)./scripts/lych fmt-check before committing| Path | Purpose |
|---|---|
arch/arm64/ | Startup assembly and exception-entry stubs |
boot/ | Kernel linker script |
kernel/ | The kernel crate (no_std, no_main) |
kernel/src/arch/ | CPU and exception-handling primitives |
kernel/src/drivers/ | Device drivers (currently PL011 UART) |
kernel/src/memory/ | Memory management (frame allocator, page tables, heap) |
scripts/ | Build, run, and debug entry points |
docs/ | Development notes |
There is no formal test suite yet. Verify changes by:
./scripts/lych build./scripts/lych run (should show kernel boot output)./scripts/lych fmt-checkContributions should generally align with the current development phase. See the Roadmap for the current focus areas. Before starting significant work, consider opening an issue to discuss the approach.
Use GitHub Issues for:
Please report security vulnerabilities privately via email rather than opening a public issue. See our Security Policy.