qboot – minimalistyczny firmware x86 dla QEMU

qboot – minimalistyczny firmware x86 dla QEMU

przez -
1 1876
QEMU
Jakiś czas temu firma Intel utworzyła inicjatywę Clear Containers. Jej celem jest stworzenie niezwykle lekkich maszyn wirtualnych, przy użyciu KVM, różnych optymalizacji jądra Linux i procesorów Intel Core. Eksperymentalne wersje Clear Containers wymagają jedynie 18 – 20 MB pamięci operacyjnej do postawienia maszyny wirtualnej i uruchomienia jej w czasie około 60 ms. Aby osiągnąć założony cel użyto narzędzi KVM, dzięki któremu możliwe było zrobienie odpowiedniej konfiguracji.

Kilkanaście dni temu Paolo Bonzini udostępnił wszystkim qboot, minimalistyczny firmware x86, który działa na QEMU, razem ze zoptymalizowaną konfiguracją i uruchamia maszynę wirtualną na procesorze Intel Core i7 (architektura Ivy Bridge) w czasie 40 milisekund. Cały kod dostępny jest na https://github.com/bonzini/qboot i waży jedynie 8kB.

qboot wykorzystuje kilka komponentów:

  • minimalny 16 bitowy BIOS, działający w oparciu o BIOS z narzędzi KVM
  • inicjalizacje sprzętowe zostały napisane od zera, z wykorzystaniem kodu projektu SeaBIOS
  • minimalistyczne 32 bitowe biblioteka libc, oparta o kvm-unit-tests
  • inicjowanie jądra Linux, prosto od QEMU

Aktualnie deweloperzy pracują nad dodaniem obsługi tablic NFIT z ACPI 6.0 oraz obsługę pamięci trwałej (persistent memory).

  • Sebastian Kusznerczuk

    “Jakiś cas temu” :) pierwsze rzuciło mi się w oczy