No description
Find a file
Changyuan Lyu 917cc88c3c refactor(kvm): use c_enum for KVM VM types
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2024-06-16 19:29:37 -07:00
.github ci: Bump actions/checkout from 4.1.6 to 4.1.7 2024-06-14 13:21:44 -07:00
alioth refactor(kvm): use c_enum for KVM VM types 2024-06-16 19:29:37 -07:00
alioth-cli feat(cli): track error sources with snafu (2/n) 2024-06-09 10:11:22 -07:00
docs docs(sev): boot AMD-SEV guests with Oak/Stage0 2024-05-22 23:10:49 -07:00
macros feat(hv)!: track error sources with snafu (1/n) 2024-06-09 10:11:22 -07:00
serde-aco chore: bump version to 0.2.0 2024-05-24 13:56:06 -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 build(deps): bump dependencies by cargo update 2024-06-14 22:43:49 -07:00
Cargo.toml feat(hv)!: track error sources with snafu (1/n) 2024-06-09 10:11:22 -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.