Skip to content

Quick Start

  • Docker (for hermetic builds)
  • QEMU (for running the VM)
Terminal window
# Clone the repo
git clone https://github.com/hbarve1/vyomaos.git
cd vyomaos
# Full build: kernel + supervisor + apps + rootfs
make 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=sdl
  1. Linux 5.10 kernel starts (allnoconfig, ~2.3 MB)
  2. Rust supervisor launches as PID 1
  3. Supervisor reads /etc/vyoma/boot.toml for app list
  4. Each app’s vyoma.toml manifest is parsed for capabilities
  5. One Wasmtime process spawns per app with only declared WASI imports
  6. All 200+ apps are running within 5 seconds

Once booted, the supervisor console accepts commands:

Terminal window
ps # List running apps
log <name> # Print app logs
logf <name> # Tail app logs (follow mode)
kill <name> # Terminate app
restart <name> # Restart app
@supervisor: list # List apps via IPC
@supervisor: focus <name> # Switch keyboard focus
@supervisor: ping # Health check
@supervisor: uptime # System uptime
CommandWhat it does
make buildFull build: kernel + supervisor + apps + rootfs + disk
make kernelCompile Linux kernel only
make supervisorCompile Rust supervisor only
make appsCompile all WASM apps (incremental)
make rootfsCreate initramfs from artifacts
make runBoot headless
make run-guiBoot with virtio-gpu display
make run-netBoot with virtio-net networking
make run-gui-netDisplay + networking
make testFull CI: build + unit tests + smoke test

To enable networking (e.g., for the HTTP server app):

Terminal window
make run-net # Headless + port 8080 forwarded
make run-gui-net # GUI + networking

Then access http://localhost:8080 from your host machine.