原文
https://pic3.zhimg.com/80/v2-8d8eae18a865adc51ecfabd7a50383e6_720w.webp
[译] 100 行 C 代码创建一个 KVM 虚拟机(2019)
- 译者序
- 1 内核 KVM 子系统
- 2
100
来行 C 代码创建一个 KVM 虚拟机- 2.1 打开 KVM 设备:
kvm_fd = open("/dev/kvm")
- 2.2 创建 VM 外壳:
vm_fd = ioctl(kvm_fd, KVM_CREATE_VM)
- 2.3 分配 VM 内存:
mmap()
- 2.4 初始化 VM 内存:
ioctl(vm_fd, KVM_SET_USER_MEMORY_REGION)
- 2.5 加载 VM 镜像:
open() + read()
- 2.6 创建 VCPU:
ioctl(vm_fd, KVM_CREATE_VCPU)
- 2.7 初始化 VCPU 控制区域:
ioctl(kvm_fd, KVM_GET_VCPU_MMAP_SIZE) + mmap
- 2.8 设置 VCPU 寄存器:
ioctl(vcpu_fd, KVM_SET_SREGS/KVM_SET_REGS)
- 2.9 启动 VM:
ioctl(vcpu_fd, KVM_RUN)
- 2.10 小结
- 2.1 打开 KVM 设备:
- 3 极简 VM 镜像
- 4 测试
- 5 扩展阅读
- 译文参考资料
评论区