返回 登录
0

qboot:仅8K的最小化QEMU x86固件

阅读19669

https://media.licdn.com/media/p/2/000/004/121/107ceda.jpg

知名开源程序员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就诞生了。

评论