Minimal build instructions.
- Linux host
gitnixwith flakes enabledqemu-system-x86_64sudoaccess for mounting/unmountingdisk.img
Clone submodules first:
git submodule update --init --recursiveIf you do not already have Nix installed, run:
sh <(curl -L https://nixos.org/nix/install) --daemonThen restart your shell and enable flakes:
mkdir -p ~/.config/nix
cat > ~/.config/nix/nix.conf <<'EOF'
experimental-features = nix-command flakes
EOFFrom the repository root:
nix runThis enters the flake environment, initializes the rootfs if needed, and runs cargo xrun.
From the repository root:
nix developThe project expects a local Rust toolchain named seele:
cd toolchain
./install.rs
cd ..From the repository root:
cargo xrunRun the headless agent path with serial log capture:
cargo xrun -- --agentBuild or refresh disk.img and the guest root filesystem:
cargo xrootfsForce rebuilding the disk image from scratch:
cargo xrootfs-overrideMount sysroot/ from disk.img when needed:
cargo xsysroot-mountRun kernel unit tests in QEMU:
cargo xtestRun integration tests:
cargo xintegration-testcargo xrunis the main local workflow entrypoint.nix runuses the same xtask-based flow.- If
/dev/kvmexists, QEMU will use KVM automatically.