No description
- Rust 99.4%
- Nix 0.6%
|
|
||
|---|---|---|
| .cargo | ||
| .forgejo/workflows | ||
| .vscode | ||
| meta/branding | ||
| src | ||
| xtask | ||
| .envrc | ||
| .envrc.example | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| readme.md | ||
| rust-toolchain.toml | ||
Operating system
Setup
NixOS / Nix
Flakes enabled, then direnv allow (or nix develop).
Windows 11
- Install
rustup. - QEMU:
winget install SoftwareFreedomConservancy.QEMU - OVMF firmware: not bundled with QEMU on Windows. Download a combined
OVMF.fdand setOVMF_PATHto it (see Configuration below). - VirtualBox, optional, only for
cargo xtask vbox.
Development
cargo xtask run # build and boot in QEMU (default)
cargo xtask build # build the kernel only
cargo xtask image # build target/ray-os.img + .iso
cargo xtask vbox # build and run in the "RayOS" VirtualBox VM
Add --release for a release build.
Plain cargo build/cargo run build xtask itself, not the kernel.
Configuration
QEMU and VBoxManage are found on PATH; override via env vars if needed.
Copy .envrc.example to .envrc, uncomment what you need, direnv allow.
If something required is missing, cargo xtask tells you which var to set.
| Variable | Used by | Default / when needed |
|---|---|---|
OVMF_PATH |
run |
Set by the Nix devShell; required otherwise |
QEMU_PATH |
run |
Only if qemu-system-x86_64 isn't on PATH |
VBOXMANAGE_PATH |
vbox |
Only if VBoxManage isn't on PATH |
VBOX_VM_NAME |
vbox |
Defaults to RayOS |