mirror of
https://github.com/google/alioth.git
synced 2024-11-24 04:09:36 +00:00
No description
34d71f3420
Bumps the patches group with 4 updates: [serde](https://github.com/serde-rs/serde), [proc-macro2](https://github.com/dtolnay/proc-macro2), [syn](https://github.com/dtolnay/syn) and [zerocopy](https://github.com/google/zerocopy). Updates `serde` from 1.0.210 to 1.0.213 - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.213) Updates `proc-macro2` from 1.0.88 to 1.0.89 - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.88...1.0.89) Updates `syn` from 2.0.82 to 2.0.85 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.82...2.0.85) Updates `zerocopy` from 0.8.6 to 0.8.7 - [Release notes](https://github.com/google/zerocopy/releases) - [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md) - [Commits](https://github.com/google/zerocopy/compare/v0.8.6...v0.8.7) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patches - dependency-name: proc-macro2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patches - dependency-name: syn dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patches - dependency-name: zerocopy dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patches ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
alioth | ||
alioth-cli | ||
docs | ||
macros | ||
serde-aco | ||
serde-aco-derive | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
rust-toolchain.toml | ||
rustfmt.toml |
Alioth
Alioth is an experimental KVM-based type-2 hypervisor (virtual machine monitor) in Rust implemented from scratch.
Important
Disclaimer: Alioth is not an officially supported Google product.
Quick start
-
Install Alioth from source,
cargo install alioth-cli --git https://github.com/google/alioth.git
-
Make an initramfs with u-root.
-
Boot a Linux kernel with 2 CPUs and 4 GiB memory,
alioth -l info --log-to-file \ run \ --kernel /path/to/vmlinuz \ --cmd-line "console=ttyS0" \ --initramfs /path/to/initramfs \ --mem-size 4G \ --num-cpu 2
Features
- Runs on
x86_64
andaarch64
. - Boots confidential VMs with AMD SEV, SEV-ES, or SEV-SNP, see coco.md for details.
- VirtIO devices
net
backed by a tap device,vsock
backed by host/dev/vhost-vsock
,blk
backed by a raw-formatted image,entropy
backed by host/dev/urandom
,fs
backed by virtiofsd with experimental Direct Access (DAX),- (WIP)
balloon
with free page reporting.
- PCI device passthrough based on VFIO/IOMMUFD.
- Other devices
TODOs
- explore a better solution to ACPI DSDT to replace the pre-compiled AML bytes,
- increase test coverage,
- add missing documents,
- (long term) port Alioth to Apple's Hypervisor framework,
- performance, performance, and performance!
Acknowledgment
The virtualization implementation in Alioth takes the following projects as references,
The error handling practice is inspired by
GreptimeDB's
stack_trace_debug
.