QEMU Addon

Was ist das QEMU

Das QEMU-Addon wurde speziell für den IPFire angepasst und bietet die Möglichkeit, bei genügend Rechenleistung und Arbeitsspeicher des IPFire, ein oder mehrere Betriebssysteme zu emulieren. QEMU ist ein Emulator für PC-System, kann dabei aber auf x86 Systemen laufen oder diese emulieren. Der große Vorteil von QEMU ist jedoch, dass es auch andere Prozessoren emulieren kann, und sogar VM-Ware Images werden unterstützt.

Vorbereitung

Als Erstes muss das Addon wie jedes Addon über den PAKFire installiert werden.

Als Speichermedium wird eine “virtuelle Festplatte“ mit dem Befehl:

qemu-img create /PATH/DATEINAME.img 5GB

angelegt. Fertig. Schon kann es mit der Installation des Betriebssystem losgehen.

Für den Zugriff auf den QEMU bietet sich VNC an. Der Viewer wird dabei wie folgt gestartet.

ausführen von QEMU und Installation eines Betriebssystems

Für die Installation eines Betriebssystems sollte QEMU mit folgenden Optionen gestartet werden:

qemu -vnc :1 -hda /mnt/harddisk/testimage.img 
-cdrom /mnt/harddisk/ubuntu-7.10-desktop-i386.iso -no-acpi 
-m 256 -net nic -net user -boot d -usbdevice tablet &

Im Beispiel ist die QEMU-Festplatte (testimage.img) und die Ubuntu ISO (ubuntu-7.10-desktop-i386.iso) auf einer 2. Festplatte, die mit ExtraHD eingebunden ist.

Erklärung der Start-Parameter
-vnc :1 weist den integrierten VNC-Server zur Ausgabe auf Port 5901 an
-no-acpi Startet QEMU ohne ACPI_Features
-m 256 weist QEMU den Arbeitsspeicher zu. Default, ohne diese Option, ist 128MB
-net nic emulliert eine Realtek RTL 8029(AS) PCI Ethernet
-net nic,model=rtl8139 emulliert eine Realtek RTL 8139 PCI Ethernet
-net user erlaubt das NAT der Netzwerkkarte
-boot d bootet von Laufwerk D: (CDRom)
-usbdevice tablet hiermit wird eine HID-Maus emuliert
-daemonize führt QEMU im Hintergrund aus
-redir tcp:3389::3389 ermöglicht das Benutzen des RDP-Protokolles für Windows Clients
-soundhw es1370,sb16,adlib alternative Soundkarten, es ist aber immer nur eine möglich
-localtime übernimmt die Systemzeit vom Gast-System

Für einen fehlerfreien Betrieb ist die Option -daemonize vorzuziehen, auf manchen Testsystemen lief der QEMU mit der Option -& sehr instabiel.

Tuning und Besonderheiten

Es sollten alle Optionen die nicht gebraucht werden deaktiviert bzw. beim Start nicht angegeben weden.

Installation einer VM ohne NAT

Wer einen Server unter QEMU betreiben will sollte die folgenden Punkte beachten: Das hier gezeigte Beispiel ist für das blaue (blue0) Interface ausgelegt und muss gegebenenfalls angepasst werden.

Folgende Schritte sind nötig:

1. script laden nach /etc/init.d/

Dazu am IPFire ins Verzeichnis /etc/init.d/ wechseln

cd /etc/init.d/

und das BridgeScript laden.

wget http://people.ipfire.org/~rowie/qemu/bridge 

Nach erfolgreichem Download müßen noch die Rechte und Symlinks gesetz werden.

ln -s /etc/init.d/bridge /etc/rc.d/rc3.d/S19bridge
chmod 754 /etc/init.d/bridge

3. IPFire rebooten

Nach dem Reboot werden die Module geladen und qemu starten.

modprobe kvm_intel
qemu -vnc :1 -hda /pfad zum image -m 1536 -k de-ch -net nic,model=virtio -net tap,
ifname=tap0,script=no -soundhw ac97  -boot c -usbdevice tablet -enable-kvm -daemonize

Ich verwende kvm und den virtio treiber! Wenn ihr das nicht verwendet entsprechend anpassen!!!

der "normale" Start von QEMU

Für den normalen Betrieb von QEMU sollten die folgenden Parameter völlig ausreichen:

qemu -vnc :1 -hda /mnt/harddisk/testimage.img -m 256 -net nic -net user -boot c 
-usbdevice tablet &

Emulierte Hardware

  • IDE-Controller mit bis zu 4 IDE Festplatten ( oder Disk-Images)
  • Diskettenlaufwerk
  • CDROM
  • Soundblaster 16 Soundkarte (aternativ ES1370)
  • Cirrus Logic Grafikkarte 5446 PCI (alternativ VESA-VGA)
  • Standard PS2 Rad-Maus
  • Realtek RTL 8029(AS) PCI Ethernet
  • serielle Schnittstelle (COM 1)
  • Parallelport (LPT 1)
  • USB-UHCI (Intel SB82371)
  • Gameport Joystick
weitere Befehle
qemu-img create -f vmdk playdisk.vmdk 6000000

Erzeugen eines leeren Festplattenimage (VMWare Format) mit 6GB Speicherplatz

Links

de/addons/qemu/start.txt · Zuletzt geändert: 2011/10/19 20:56 von Arne.F
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki