/trivial-kvm

a very tiny kvm

Primary LanguageC

A Minimal KVM prototype

tkvm is a minimal VMM which can run a very simple VM and can run a whole operation system in the future. It uses KVM API to simulate a VM. It is a learning project contemporarly.

Steps

Learning of tkvm can be divided into 4 steps:

  • Build a prototype of KVM API usage
  • Accomplish the part of Memory set
  • Accomplish the part of load kernel boot and initrd
  • Accomplish the part of CPU

Example

Run the tkvm and then run the command

./tkvm -kernel image/bzImage -initrd image/initramfs-busybox-x86.cpio.gz

tkvm_terminal

Build your own Linux image

Notice: If you need to build the KVM acceleration kernel, change the command make kvmconfig to make kvm_guest.config. Reference: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2140886.html

You may need to re-run the programme many time for successfully get the terminal. Only for x86 structure yet.

Relevant notes

Reference