Quick Start
Prerequisites
Section titled “Prerequisites”- Docker (for hermetic builds)
- QEMU (for running the VM)
Build & Boot
Section titled “Build & Boot”# Clone the repogit clone https://github.com/hbarve1/vyomaos.gitcd vyomaos
# Full build: kernel + supervisor + apps + rootfsmake build
# Boot headless (serial console)make run
# Boot with GUI display (macOS)make run-gui DISPLAY_BACKEND=cocoa
# Boot with GUI display (Linux)make run-gui DISPLAY_BACKEND=sdlWhat Happens at Boot
Section titled “What Happens at Boot”- Linux 5.10 kernel starts (allnoconfig, ~2.3 MB)
- Rust supervisor launches as PID 1
- Supervisor reads
/etc/vyoma/boot.tomlfor app list - Each app’s
vyoma.tomlmanifest is parsed for capabilities - One Wasmtime process spawns per app with only declared WASI imports
- All 200+ apps are running within 5 seconds
Inside the VM
Section titled “Inside the VM”Once booted, the supervisor console accepts commands:
ps # List running appslog <name> # Print app logslogf <name> # Tail app logs (follow mode)kill <name> # Terminate apprestart <name> # Restart app@supervisor: list # List apps via IPC@supervisor: focus <name> # Switch keyboard focus@supervisor: ping # Health check@supervisor: uptime # System uptimeBuild Targets
Section titled “Build Targets”| Command | What it does |
|---|---|
make build | Full build: kernel + supervisor + apps + rootfs + disk |
make kernel | Compile Linux kernel only |
make supervisor | Compile Rust supervisor only |
make apps | Compile all WASM apps (incremental) |
make rootfs | Create initramfs from artifacts |
make run | Boot headless |
make run-gui | Boot with virtio-gpu display |
make run-net | Boot with virtio-net networking |
make run-gui-net | Display + networking |
make test | Full CI: build + unit tests + smoke test |
Networking
Section titled “Networking”To enable networking (e.g., for the HTTP server app):
make run-net # Headless + port 8080 forwardedmake run-gui-net # GUI + networkingThen access http://localhost:8080 from your host machine.