revm helps you quickly launch Linux VMs / Containers
Warning
This project is currently under heavy development
A lightweight Linux microVM for macOS powered by libkrun. Two independent modes: chroot mode (run commands inside an isolated Linux rootfs) and docker mode (run a full Podman container engine on Apple Silicon).
macOS Sonoma or later
wget https://github.com/ihexon/revm/releases/download/<TAG>/revm-Darwin-arm64.tar.zst
xattr -d com.apple.quarantine revm-Darwin-arm64.tar.zst
tar -xvf revm-Darwin-arm64.tar.zstcmd/revm exposes three user-facing subcommands:
| Command | Alias | What it does |
|---|---|---|
revm chroot |
_ | Boot a Linux microVM from a custom or built-in rootfs, then run a command inside it |
revm dockerd |
_ | Boot the built-in container VM and expose a Podman-compatible API socket on the host |
revm attach |
_ | Reconnect to an existing session over SSH, either as an interactive shell (--pty) or a one-off command |
# Run a command inside a rootfs-backed VM
revm chroot --id build --rootfs ~/ubuntu-rootfs -- bash -lc 'uname -a'
# Re-enter the same VM from another terminal
revm attach --pty build
# Start the built-in container engine
revm dockerd --id engine
export CONTAINER_HOST=unix:///tmp/engine/socks/podman-api.sock
podman run --rm alpine uname -a| Document | Description |
|---|---|
| chroot mode | Linux chroot alternative on macOS — run any rootfs with near-native performance |
| docker mode | Full container engine without Docker Desktop — Podman/Docker CLI compatible |
| attach | Connect to a running VM instance |
| workspace & networking | Session directory layout, reuse/cleanup, and network backends (gvisor / tsi) |
| management API | VM management API via Unix socket |
https://github.com/ihexon/revm/issues
Apache License 2.0 — see LICENSE for details.
Some parts of this document were written using AI assistance because I was lazy.