No description
Find a file
Changyuan Lyu 53dd02480e chore(git): ignore vsocde configs
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-04-26 00:06:54 -07:00
.github ci: Bump actions/checkout from 4.1.3 to 4.1.4 2024-04-24 23:32:29 -07:00
alioth fix(mem): return runtime error for zero-sized slot 2024-04-26 00:06:54 -07:00
alioth-cli build: update dependencies 2024-04-24 22:06:25 -07:00
docs Initial release 2024-04-24 19:34:14 -07:00
.cirrus.yml ci: add Cirrus CI 2024-04-24 22:06:25 -07:00
.gitignore chore(git): ignore vsocde configs 2024-04-26 00:06:54 -07:00
Cargo.lock tests: use crate assert_matches for stable rust 2024-04-24 22:06:25 -07:00
Cargo.toml Initial release 2024-04-24 19:34:14 -07:00
LICENSE Initial release 2024-04-24 19:34:14 -07:00
README.md build: use stable rust as default 2024-04-24 22:06:25 -07:00
rust-toolchain.toml build: use stable rust as default 2024-04-24 22:06:25 -07:00
rustfmt.toml Initial release 2024-04-24 19:34:14 -07:00

Alioth

Alioth is a toy virtual machine monitor based on KVM. Complementary to the official tutorial Using the KVM API, it demonstrates detailed steps for building a type-2 hypervisor and booting a Linux guest kernel.

Get started

  • Build Alioth from source,

    cargo build --release --target x86_64-unknown-linux-gnu
    
  • Make an initramfs with u-root,

  • Boot a Linux kernel with 2 CPUs and 4 GiB memory:

    cargo run --release --target x86_64-unknown-linux-gnu -- \
        -l info \
        --log-to-file \
        run \
        --kernel /path/to/vmlinuz \
        --cmd-line "console=ttyS0" \
        --initramfs /path/to/initramfs \
        --mem-size 4G \
        --num-cpu=2
    

Disclaimer

Disclaimer: Alioth is not an officially supported Google product.