知名开源程序员Paolo Banzini(他曾是GNU Smalltalk、sed和grep的维护者,现在Red Hat从事Linux、QEMU和SeaBIOS的开发)又有了新作:
qboot,一个运行在QEMU之上的x86固件,配合精简的QEMU配置,可以在Ivy Bridge Core i7处理器上40毫秒就启动一个虚拟机。
项目的GitHub网址在:https://github.com/bonzini/qboot,代码只有8KB,包括以下组件:
- 最小化的16位BIOS运行库,基于kvmtool自己的BIOS
- 一些硬件初始化例程,大多数是从零开始编写的,但借助了SeaBIOS源代码
- 来自QEMU的Linux加载器
Banzini在LWN上的贴子里解释了开发qboot的初衷:
有人可能已经听说了Intel的Clear Containers计划(参考),将KVM结合各种内核手段生成极为轻量的虚拟机。Clear Containers配置只需18~20MB起一个虚机,启动时间是60ms。
QEMU用来运行Windows或者传统Linux Guest很不错,但这种灵活性也有高昂的代价。不仅模拟消耗内存,Guest里还需要某种低层固件。这些都大大增加了虚机的启动时间(500~700毫秒都不足为奇)。
因此,Clear Containers使用kvmtool代替QEMU。
作为QEMU的开发者,他当然不愿意认输,所以qboot就诞生了。