Crates.io | alioth-cli |
lib.rs | alioth-cli |
version | 0.9.0 |
created_at | 2024-04-29 05:49:26.028466+00 |
updated_at | 2025-09-02 04:33:53.226169+00 |
description | Command-line interface for Alioth, an experimental Type-2 hypervisor. |
homepage | |
repository | https://github.com/google/alioth |
max_upload_size | |
id | 1223856 |
size | 53,875 |
Alioth /AL-lee-oth/ is an experimental Type-2 hypervisor, written from scratch in Rust. It runs on top of an existing operating system and leverages KVM on Linux and Apple's Hypervisor framework on macOS to create and manage virtual machines.
[!IMPORTANT]
Disclaimer: Alioth is an experimental project and is NOT an officially supported Google product.
First, install Alioth from source using Cargo:
cargo install alioth-cli --git https://github.com/google/alioth.git
Next, create an initramfs for your guest OS. You can use a tool like u-root to do this.
Finally, boot a Linux kernel. This example starts a VM with 2 CPUs and 4 GiB of memory:
case $(uname -m) in
arm64 | aarch64)
CONSOLE=ttyAMA00
;;
x86_64)
CONSOLE=ttyS0
;;
esac
alioth -l info --log-to-file \
boot \
--kernel /path/to/vmlinuz \
--cmd-line "console=$CONSOLE" \
--initramfs /path/to/initramfs \
--memory size=4G \
--num-cpu 2
x86_64
(Linux) and aarch64
(Linux & macOS).net
: Backed by a TAP device.vsock
: Backed by either the host's /dev/vhost-vsock
or a Unix domain
socket.blk
: Backed by a raw disk image.entropy
: Backed by the host's /dev/urandom
.fs
: Backed by virtiofsd with
experimental Direct Access (DAX) support.balloon
: Free page reporting (Work in Progress).The design and implementation of Alioth are heavily inspired by the following projects:
The error handling approach is inspired by the
stack_trace_debug
macro in
GreptimeDB.