BMBT 常见问题解答
- 为什么不使用 unikernel + QEMU 的方法?
- 为什么不基于 captive 开发?
- captive 自身的代码量非常大, 大约在 10 万行左右
- captive 需要对于 x86 写对应的 asl 硬件描述语言从而生成自动翻译
- captive 是通过构建一个 unikernel 在 kvm 中运行,其 unikernel 实现和硬件打交道的方法都是 virtio 。这和我们希望直接在虚拟上运行需求不符合。
- 为什么不使用 Rust 开发?
一些参考的 hypervisor
- https://github.com/quic/gunyah-hypervisor : 是构建了一个 micro kernel + kernel virtual machine 比较初级的项目
- https://github.com/projectacrn/acrn-hypervisor : 是用于嵌入式上的 type 1 hypervisor, 也是 kernel + hypervisor 的方式
- https://github.com/airbus-seclab/ramooflax : 这个项目目前是和我们的需求最为相似的,从 bios 启动,然后运行 hypervisor 然后将磁盘上的操作系统在 guest 中间运行, 其唯一的区别在于使用了 vt-x 的虚拟化技术
- https://github.com/udosteinberg/NOVA : NOVA 可以运行多个 unmodified 的 guest kernel
- https://github.com/matsud224/raspvisor : 在树莓派上运行的 type 1 hypervisor
- https://github.com/wbenny/hvpp/blob/master/README.md : 使用 Window 驱动, 用 C++ 写的一个 hypervisor, 可以理解为一个简单的 kvm
-
https://github.com/tandasat/MiniVisorPkg : 使用 UEFI driver 来构建 hypervisor
- https://github.com/usbarmory/tamago : baremetal go
本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。