Skip to content

ToyVMM is a project being developed for the purpose of learning virtualization technology

License

Notifications You must be signed in to change notification settings

aztecher/toyvmm

Repository files navigation

ToyVMM (Toy Virtual Machine Monitor)

Overview

ToyVMM is a project being developed for the purpose of learning virtualization technology.
ToyVMM aims to accomplish the following

  • Code-based understanding of KVM-based virtualization technologies
  • Learn about the modern virtualization technology stack by using libraries managed by rust-vmm
    • The rust-vmm libraries are also used as a base for well-known OSS such as firecracker and provides the functionality needed to create custom VMMs.

Book

Book (en / ja) is now available!

As we expand the implementation of ToyVMM, we plan to enhance the contents of the book as well. If you find any mistakes or my misunderstandings in the documentation, please feel free to submit an issue to the toyvmm-book repository.

BOOK CHANGE LOG

  • Dec 27, 2023 : Add contents about SMP only in ja.
  • Sep 24, 2023 : Add 'Virtio' contents and translate all existing contents into ja / en.
  • Jan 5, 2023 : Add contents (Load Linux Kernel, and its subcontents)
  • Apr 7, 2022 : First publish (Introduction, QuickStart, Running Tiny Code in VM)

Getting Started

Please see the quickstart guide to launch your VM using ToyVMM!

Features and Capabilities

  • Can run a virtual machine!
  • Customizing the number of vCPU and memory size of your virtual machine is available.
  • Support virtio-blk and virtio-net to execute disk and network I/O in virtual machine.
    • Thanks to the virtio-blk, toyvmm can launch the guest OS from rootfs images like ubuntu-18.04.ext4, not only initramfs.
    • Thanks to the virtio-net, the virtual machine can reach out of the host (requires the host-side iptables setting).

License

FOSSA Status

About

ToyVMM is a project being developed for the purpose of learning virtualization technology

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages