qemu
qemu – emulator procesora, pozwalający uruchomić maszynę wirtualną z innym systemem operacyjnym. Może działać z konta zwykłego użytkownika (bez uprawnień roota).
Spis treści |
[edytuj] Instalacja
W repozytoriach debiana są gotowe paczki, wystarczy więc napisać:
aptitude install qemu
[edytuj] Obraz dysku
qemu wymaga dostarczenia obrazu dysku twardego. Można zrobić w pliku kopię istniejącego dysku (nie pojedynczej partycji, ale całego dysku, wraz z tablicą partycji), bądź zrobić nowy plik i tam zainstalować jakiś system. Plik z obrazem może być dziurawy (sparse), emulatorowi to nie przeszkadza. Tak więc, żeby przygotować plik disk.img na 8-gigabajtowy obraz dysku, można wpisać:
dd if=/dev/zero of=./disk.img bs=1c count=1 seek=`expr 8 \* 1024 \* 1024 \* 1024 - 1`
Albo, jeśli używamy basha:
dd if=/dev/zero of=./disk.img bs=1c count=1 seek=$((8 * 1024 * 1024 * 1024 - 1))
Do qemu dołączony jest programik do tworzenia obrazów dysku – qemu-img.
Można też skorzystać z programu bximage, towarzyszącemu innemu emulatorowi – bochs. Działa on interaktywnie, po uruchomieniu zada kilka pytań i stworzy odpowiedni plik. Ponadto ma parę ciekawych opcji: obsługuje kilka formatów obrazów, w tym skompresowany i zaszyfrowany (choć ten ostatni nie chciał mi potem działać).
[edytuj] kqemu
Kqemu to moduł jądra Linuksa, pełniący funckję "akceleratora" qemu. Dzięki niemu część kodu w symulowanym systemie operacyjnym może być wykonywana bezpośrednio przez procesor, przy czym oczywiście architektura systemu, pod którym chodzi qemu, musi być zgodna z architekturą systemu emulowanego.
Niestety, w 2009 r. (od wersji 0.12 qemu) moduł kqemu został zarzucony ze względu na kilka problemów. Użytkownikom poleca się kvm -- tyle tylko, że ono wymaga procesora wspierającego sprzętowo wirtualizację. Obecnie to nie problem, ale sprzęt sprzed paru lat niekoniecznie spełni ten warunek...