Debian GNU/Linux logo
QEMU - HowTo


Ostatnimi czasy, postawiłem sobie maszynę wirtualną. Zaciekawiła mnie ta technologia i długo szukałem "jak i co" trzeba zrobić, żeby to "coś" działało. W końcu mi się udało, choć łatwo nie było. Tutaj skupię się na QEMU, które moim zdaniem jest jednym z najlepszych programów tego typu.
Niewtajemniczeni mogą nie wiedzieć co to jest wirtualna maszyna i po co to służy. Więc tak w skrócie to opiszę.
Wirtualna maszyna służy nam na ogół do tego, aby na aktualnym systemie zainstalować kolejny system. Powiesz: "Przecież to niemożliwe!" Jest to możliwe. Co prawda, szybkość nie jest "cudowna", ale narzekać nie można. "No dobrze, ale po co to w ogóle?" Niektórzy lubią testować różne rzeczy, ale nie chcą stracić stabilności systemu. Więc z pomocą przychodzi maszyna wirtualna. Możemy na niej zainstalować na ogół dowolny system i robić na nim co się chce. Zaletą jest to, że system postawiony na takiej maszynie, nawet jak padnie, to nie będzie to miało wpływu na działanie tego "głównego" systemu. Pomaga to wielu deweloperom, którzy muszą testować różne rzeczy. Mnie też się to przydaje, bo mogę zainstalować system jakiego jeszcze nie miałem. Mogę zobaczyć wygląd jakiegoś LiveCD itd. Naprawdę przydatna rzecz.
Aby taką maszynkę stworzyć, trzeba mieć odpowiedni program. Z najpopularniejszych można wymienić VMWare, QEMU i Xen. Ja tutaj opiszę instalację i konfigurację QEMU.

Żeby korzystać z QEMU trzeba je najpierw zainstalować. A więc:
Listing #1: Instalacja QEMU
# aptitude install qemu

Po tym teoretycznie można by już np. zainstalować jakiś system, jednakże działało by to bardzo wolno. A my nie chcemy żółwia na komputerze ;) Więc przyśpieszymy QEMU z 5-10 razy, używając KQEMU.
Listing #2: Instalacja KQEMU
# aptitude install kqemu-common kqemu-source

Teraz ważna część, ponieważ trzeba stworzyć moduł dla aktualnego kernela.
Listing #3: Instalacja module-assistant
# aptitude install module-assistant

Odpalamy teraz module-assistant:
Listing #4: Uruchomienie module-assistant
# module-assistant

Wybieramy teraz SELECT, szukamy kqemu i zaznaczamy spacją, potem wychodzimy, wybieramy PREPARE, czekamy, wychodzimy. Teraz ładujemy odpowiedni moduł:
Listing #5: Ładowanie modułu kqemu
# modprobe kqemu

Teraz sprawdzamy, czy mamy odpowiednie urządzenie w /dev:
Listing #6: Sprawdzenie czy zostało utworzone urządzenie kqemu w /dev
$ ls -la /dev/ | grep kqemu

W przypadku braku tego urządzenia, dajemy:
Listing #7: Stworzenie /dev/kqemu
# mknod /dev/kqemu c 250 0 && chmod 666 /dev/kqemu

Teraz jeszcze raz ładujemy moduł:
Listing #8: Ponowne załadowanie modułu kqemu
# modprobe kqemu

Jeżeli wszystko dobrze poszło to w tym momencie możemy już wypróbować naszą maszynę wirtualną :-) Tworzymy sobie dowolny folder i przechodzimy do niego:
Listing #9: Tworzenie folderu na potrzeby QEMU
$ mkdir ~/qemu && cd ~/qemu

Teraz musimy stworzyć plik, który będzie jakby "dyskiem" dla instalowanego systemu. Na ogół możesz przeznaczyć na ten plik od 2 GB wzwyż.
Listing #10: Tworzenie "dysku" dla QEMU
$ qemu-img create plik.img 4G

Powyższe polecenie stworzy plik o wielkości 4 GB.
Teraz mamy dwa wyjścia. Albo odpalimy system (lub jego instalator) z płyty, lub z obrazu .iso, który jest na dysku (teoretycznie można jeszcze odpalić system, znajdujący się na osobnej partycji, ale różnie z tym bywa):
a) Dla płyty CD/DVD:
Listing #11: Odpalenie systemu z płyty CD/DVD
$ qemu -m 256 -hda plik.img -cdrom /dev/cdrom -boot d

Oczywiście powyższe dostosowujemy do własnych "potrzeb".
b) Dla obrazu .iso znajdującego się na dysku:
Listing #12: Odpalenie systemu z obrazu .iso znajdującego się na dysku
$ qemu -m 256 -hda plik.img -cdrom /ścieżka/do/obrazu/plik.iso -boot d

Dodam, że parametr -m 256 określa ile pamięci może wykorzystać QEMU. Gdybyśmy tego nie podali, to zostało by użyte 128 MB.

Kiedy wpisywałeś, któreś z powyższych poleceń, powinno otworzyć się okno, z instalacją systemu (lub czymś w tym stylu). Jeżeli nic się nie otworzyło, to oznacza to, że albo źle zainstalowałeś QEMU, albo źle podałeś parametry.

Sprawdzimy teraz, czy KQEMU działa. Odpal jakąś instalację systemu etc. i wciśnij Ctrl + Alt + 2. W konsoli, która się pojawi, wpisz:
Listing #13: Sprawdzanie czy kqemu działa poprawnie
info kqemu

Powinieneś otrzymać taką informację:
kqemu support: enabled for user code

Oznacza to, że KQEMU działa poprawnie i masz przyśpieszenie. Jeżeli KQEMU z jakiś przyczyn nie działa, sprawdź czy zainstalowałeś moduł dla kernela, czy masz urządzenie /dev/kqemu i czy załadowałeś poprawnie moduł.

Uwaga! Jeżeli masz system 64 bitowy, to aby mieć przyśpieszenie musisz zamiast polecenia qemu podawać qemu-system-x86_64. Przykład:
Listing #14: Odpalenie QEMU z KQEMu na systemach 64-bitowych
$ qemu-system-x86_64 -m 256 -hda plik.img -cdrom /dev/cdrom -boot d


Jeżeli zainstalowaliśmy już system, to możemy go w każdej chwili uruchomić, wydając np:
Listing #15: Uruchomienie zainstalowanego już systemu
$ qemu -boot c plik.img -m 256


No i to chyba wszystko :-) Możesz zainstalować sobie za pomocą QEMU Debiana, czy inną dystrybucję, zobaczyć jak działa dane LiveCD, no i oczywiście możesz pokusić się o instalację Łyndołsa :D Poniżej kilka fotek, jak to wszystko wygląda u mnie.

QEMU1 QEMU2 QEMU3



Powyżej widać Ubuntu 6.12 i Windowsa XP (znalazłem tą zakurzoną płytkę z licencją :P).

Valid XHTML 1.1 Valid CSS! Reklama
Ten poradnik dostępny jest na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 2.5 Polska.