Sie sind auf Seite 1von 25

A nha ng

Startoptionen von QEMU

Folgender Aufruf emuliert die x86-Prozessor-Architektur (32 Bit):

Host ~$ qemu [options] [disk_image]

Wobei disk_image das Image der ersten IDE-Festplatte (disk 0) bezeichnet. Weitere Prozes- sorarchitekturen werden wie folgt aufgerufen:

x86-Architektur, 64 Bit:

Host ~$ qemu­system­x86_64 [options] [disk_image]

ARM-Architektur:

Host ~$ qemu­system­arm [options] [disk_image]

MIPS-Architektur (32Bit, 64-Bit):

Host ~$ qemu­system­mips [options] [disk_image] Host ~$ qemu­system­mips64 [options] [disk_image]

MIPsel-Architektur (32Bit, 64-Bit):

Host ~$ qemu­system­mipsel [options] [disk_image] Host ~$ qemu­system­mips64el [options] [disk_image]

PowerPC-Architektur (32Bit, 64-Bit):

Host ~$ qemu­system­ppc [options] [disk_image] Host ~$ qemu­system­ppc64 [options] [disk_image] Host ~$ qemu­system­ppcemb [options] [disk_image]

SPARC-Architektur:

Host ~$ qemu­system­sparc [options] [disk_image]

Der SPARC-System-Emulator hat zusätzlich folgende Option

­prom­env string

Setzt OpenBIOS-Variablen im NVRAM.

Coldfire-Architektur:

Host ~$ qemu­system­m68k [options] [disk_image]

ETRAX CRIS-Architektur:

Host ~$ qemu­system­cris [options] [disk_image]

SuperH-Architektur:

Host ~$ qemu­system­sh4 [options] [disk_image] Host ~$ qemu­system­sh4eb [options] [disk_image]

Leseprobe

http://qemu-buch.de

Anhang

Standardoptionen

­M machine

Auswahl der emulierten Maschine.

­M ?

Anzeige der Liste aller möglichen Maschinen.

­cpu cpu

Auswahl der emulierten CPU.

­cpu ?

Anzeige der Liste aller möglichen CPUs.

­fda/­fdb file

Die angegebene Datei file dient als Disketten-Image für Laufwerk A beziehungsweise B.

­hda/­hdb file

Die angegebene Datei file wird als Festplatten-Image für die Festplatte 0 oder 1 verwendet.

­hdc/­hdd file

Die angegebene Datei file ist das Festplatten-Image für die Festplatte 2 oder 3.

­cdrom file

Die angegebene Datei file dient als Image für das CD-ROM-Laufwerk.

­drive option[,option[,option[,

]]]'

Definiert ein neues Laufwerk. Mögliche Optionen sind:

file=file

Diese Option definiert welche Image-Datei für dieses Laufwerk verwendet wird.

if=interface

Diese Option definiert mit welcher Art des Interfaces das Drive verbunden ist. Möglich sind: ide, scsi, sd, mtd, floppy, pflash.

bus=bus,unit=unit

Diese Option definiert durch die Angabe der Bus-Nummer und der Unit-ID wie das Laufwerk verbunden ist.

index=index

Diese Option definiert an welchen Connector eines Interfaces das Laufwerk an- geschlossen ist. Mit index wird die Nummer des Connectors angegeben.

media=media

Diese Option definiert als Media-Typ entweder Disk oder CDROM.

QEMU

Leseprobe

http://qemu-buch.de

cyls=c,heads=h,secs=s[,trans=t]

Diese Optionen haben die gleiche Bedeutungen wie bei -hdachs.

snapshot=snapshot

Die Option kann off oder on gesetzt werden und erlaubt die (De-)Aktivierung der Snapshot-Funktion für das angegebene Laufwerk (siehe -snapshot).

cache=cache

Die Option kann off oder on gesetzt werden und erlaubt die (De-)Aktivierung des Cache für das angegebene Laufwerk.

Anstelle der Option -cdrom kann man folgende Optionen verwenden:

qemu ­drive file=file,index=2,media=cdrom

Die Optionen -hda, -hdb, -hdc und -hdd kann man auch wie folgt ersetzen:

qemu ­drive file=file,index=0,media=disk qemu ­drive file=file,index=1,media=disk qemu ­drive file=file,index=2,media=disk qemu ­drive file=file,index=3,media=disk

Folgende Optionen schließen ein CDROM-Laufwerk als Slave von ide0 an:

qemu ­drive file=file,if=ide,index=1,media=cdrom

Wird die Option file= nicht definiert, wird ein Laufwerk ohne eingelegtes Medium ange- legt.

qemu ­drive if=ide,index=1,media=cdrom

Folgende Optionen definieren eine SCSI-Festplatte mit der Unit-ID 6 am Bus #0:

qemu ­drive file=file,if=scsi,bus=0,unit=6

Anstelle der Optionen -fda oder -fdb können folgende Optionen verwenden werden:

qemu ­drive file=file,index=0,if=floppy qemu ­drive file=file,index=1,if=floppy

Das Default-Interface ist ide und der Wert index wird jeweils automatisch erhöht.

qemu ­drive file=a ­drive file=b

Die vorherige Befehlzeile wird wie die nachfolgende Befehlzeile interpretiert.

qemu ­hda a ­hdb b ­boot [a|c|d|n]

Diese Option definiert, von welchem Device beziehungsweise Image gebootet wird.

a

Diskette

Leseprobe

http://qemu-buch.de

Anhang

c

Festplatte (Default)

d

CD/DVD-ROM

n

Etherboot (siehe auch -option-rom)

­snapshot

Änderungen werden nicht auf die Speichermedien geschrieben, sondern in temporäre Da- teien. Auf Speichermedien wird im QEMU-Monitor mit dem Befehl savevm gespeichert.

­no­frame

Deaktiviert den Fenster-Rahmen der QEMU-Instanz und stellt damit den vollen Bild- schirmbereich für das Gast-System zur Verfügung.

­no­quit

Deaktiviert den Button zum Schließen des QEMU-Fensters.

­no­fd­bootchk

Es wird der Test der Bootsignatur von Disketten deaktiviert. Dies kann bei Disketten älte- rer Betriebssysteme notwendig sein.

­m megs

Definiert die Größe des Arbeitsspeichers der virtuellen Maschine in MByte (megs). Der Defaultwert ist 128 MByte.

­smp n

Legt die Anzahl (n) der emulierten CPUs fest. Per Default wird eine CPU emuliert. Bis zu 255 CPUs werden unterstützt.

­full­screen

Startet die Emulation im Vollbildmodus.

­nographic

Deaktiviert die grafische Ausgabe und leitet die serielle Ein- und Ausgabe zur Konsole um. Die Steuerung kann dann über spezielle Tastaturkürzel (siehe Seite 252) erfolgen.

­portrait

Rotiert die grafische Ausgabe um 90 Grad entgegen der Uhrzeigerrichtung (nur PXA LCD)

­g WxH[xDEPTH]

Setzt die initiale Bildschirmauflösung und Farbtiefe (nur bei qemu-system-*).

­audio­help

Gibt eine Liste von Audiodevices mit deren Optionen aus.

­soundhw c1,

QEMU

Leseprobe

http://qemu-buch.de

Aktiviert die Audiounterstützung für die angegebenen Soundkarten. Es können mehrere Soundkarten getrennt durch Kommas angegeben werden.

­soundhw ?

Anzeige der unterstützten Soundkarten.

­soundhw pcspk

Emuliert den PC-Lautsprecher.

­soundhw sb16

Emuliert die Soundkarte Creative Sound Blaster 16.

­soundhw es1370

Emuliert die Soundkarte ENSONIQ AudioPCI ES1370.

­soundhw pcspk,sb16

Emuliert den PC-Lautsprecher und die Soundkarte Creative Sound Blaster 16.

­soundhw all

Aktiviert alle unterstützten Soundkarten.

­k language

Legt das Tastaturlayout fest, zum Beispiel de für deutsches Tastaturlayout.

Leseprobe

http://qemu-buch.de

Anhang

Kürzel

Sprache

ar

arabisch

da

dänisch

de

deutsch

de-ch

deutsch (Schweiz)

en-gb

englisch (Großbritannien)

en-us

englisch (USA)

es

spanisch

et

estnisch

fi

finnisch

fo

färöisch

fr

französisch

fr-be

französisch (Belgien)

fr-ca

französisch (Kanada)

fr-ch

französisch (Schweiz)

hr

kroatisch

hu

ungarisch

is

isländisch

it

italienisch

ja

japanisch

lt

litauisch

lv

lettisch

mk

mazedonisch

nl

holländisch

nl-be

holländisch (Belgien)

no

norwegisch

pl

polnisch

pt

portugiesisch

pt-br

portugiesisch (Brasilien)

ru

russisch

sl

slowenisch

sv

schwedisch

th

thailändisch

tr

türkisch

Tabelle 25: Tastatur-Layout – unterstützte Sprachen

Die Vorgabe des Tastaturlayouts ist normalerweise nicht erforderlich, da es vom Hostsys- tem übernommen wird. Ist dies nicht möglich, wie bei einigen X-Servern und bei Fern- steuerung mittels VNC, ist die Einstellung des Layouts mit dieser Option vorzunehmen. In diesen Fällen gilt sonst en-us als Standard.

­localtime

QEMU

Leseprobe

http://qemu-buch.de

Setzt die Systemuhr auf Local Time. Die Defaulteinstellung ist UTC.

­startdate date

Diese Option setzt die Zeit der System-Uhr beim Start auf den Wert von date. Mögliche Werte sind now (jetzt) oder 2008-04-17T16:01:21 oder 2008-04-17. Der Default-Wert ist now.

­win2k­hack

Diese Option wird bei der Installation von Microsoft Windows 2000 als Gast-Betriebssys- tem benötigt, da durch einen Bug in diesem Windows die Festplatte bei der Installation als voll gekennzeichnet wird. Nach der Installation ist diese Option zu entfernen.

­usb

Aktiviert die USB-Unterstützung. In den nächsten QEMU-Versionen wird diese Option per Default aktiviert sein.

­usbdevice name

Fügt ein USB-Device hinzu. Mögliche USB-Devices sind:

mouse

Diese Option überschreibt die PS/2-Maus-Emulation.

tablet

Mit dieser Option kann der Mauszeiger sowohl im Gast-, als auch im Host-System genutzt werden. Verlässt der Mauszeiger das Fenster des Gast-Systems, wird automa- tisch auf den Zeiger des Host-Systems umgeschaltet. Die- se Option überschreibt auch die PS/2-Mausemulation.

disk:file

Mit dieser Option wird ein Massenspeicher (virtueller USB-Stick) emuliert. file bezeichnet das Image des Mas- senspeichers.

host:bus.addr

Mit dieser Option wird ein USB-Device des Host-Systems durch seine Busadresse direkt angesprochen. Dies ist zur Zeit nur unter Linux möglich und ist noch im experimen- tellen Stadium.

host:vendor_id:product_id

Mit dieser Option wird ein USB-Device des Host-Systems durch seine Vendor- und Produkt-ID direkt angespro- chen. Dies ist zur Zeit nur unter Linux möglich und ist noch experimentell.

­name name

Definiert einen Namen für die QEMU-Instanz. Dieser Name wird in der Titelzeile des Fens- ters angezeigt. Weiterhin wird dieser Name für den VNC-Server verwendet.

Leseprobe

http://qemu-buch.de

Anhang

Netzwerkoptionen

­net nic[,vlan=n][,macaddr=addr][,model=type]

Erzeugt eine neue Netzwerkkarte und verbindet diese zum VLAN n. Mit macaddr kann eine MAC-Adresse vorgegeben werden. Mit dem Parameter model lassen sich die Netz- werkkarten ne2k_pci, ne2k_isa, rtl8139, smc91c111 und lance einstellen. Es werden nicht alle Netzwerkkarten auf allen Host-Betriebssystemen, auf denen QEMU läuft, unterstützt.

­net user[,vlan=n][,hostname=host]

Verbindet den Usermode-Network-Stack zum VLAN n und sendet den Hostnamen host zu den DHCP-Clients.

­net tap[,vlan=n][,fd=h][,ifname=name][,script=file]

Verbindet das TAP-Netzwerk-Interface des Host-Systems mit dem VLAN n und verwendet das Netzwerkscript file (Default = /etc/qemu-ifup). Mit fd kann ein Handle eines bereits be- stehenden TAP-Netzwerk-Interface angegeben werden.

­net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port]

Verbindet das VLAN n mit einem anderen VLAN mit einer TCP-Socket-Verbindung. Ist lis- ten angegeben, wartet QEMU auf eingehende Verbindungen auf dem angegebenen Port (host ist optional). Auf der zweiten QEMU-Instanz verbindet man sich mit connect zur ers- ten QEMU-Instanz mit dem listen. Mit fd kann ein Handle eines bereits bestehenden TCP- Sockets angegeben werden.

­net socket[,vlan=n][,fd=h][,mcast=maddr:port]

Erzeugt das VLAN n, das zusammen mit anderen QEMU-Instanzen mit der gleichen Multi- castadresse maddr und Port port genutzt werden kann. Mehrere QEMU-Instanzen können auf unterschiedlichen Hosts laufen und den gleichen Bus nutzen. Der Multicastsupport ist kompatibel zum User Mode Linux (siehe http://user-mode-linux.sf.net). Mit fd kann ein Handle eines bereits bestehenden UDP-Multicastsockets angegeben werden.

­net none

Deaktiviert alle Netzwerk-Devices. Wird übrigens keine -net Option angegeben, gilt die Defaultoption -net nic -net user.

­tftp prefix

Ermöglicht dem Gast-System per TFTP einen lesenden Zugriff auf Dateien des Host-Sys- tems, deren Pfad mit prefix beginnt. Dies setzt die Option -net user voraus.

QEMU

Leseprobe

http://qemu-buch.de

­bootp file

Bei Verwendung des User-Mode Network Stack wird mit dieser Option die mit file angege- bene Datei als BOOTP-Datei im Netz veröffentlicht. In Verbindung mit der Option -tftp kann damit ein Gastsystem von einem lokalen Verzeichnis des Host-Systems booten. Hier ein Beispiel bei Verwendung von pxelinux.

qemu ­hda linux.img ­boot n ­tftp /files ­bootp /pxelinux.0 ­smb dir

Ermöglicht den Datenaustausch zwischen Host- und Gast-System per Samba-Share (Win- dows-Freigabe) des Verzeichnisses dir im Host-System. Dies setzt einen Samba-Server auf dem Gast-System voraus. Der User, unter dem QEMU läuft, muss die Rechte zum Starten dieses Samba-Servers haben. Weiterhin wird die QEMU-Option -net user vorausgesetzt.

­redir [tcp|udp]:host­port:[guest­host]:guest­port

Ermöglicht die Umleitung von TCP- oder UDP-Verbindungen von einem Port des Host- Systems auf einen Port des Gast-Systems. Dies setzt die Option -net user voraus. Diese Op- tion kann mehrfach angegeben werden.

Debugging/Experten­Optionen

­monitor dev

Leitet den Monitor zum Char-Device dev um. Per Default ist das Device vc im grafischen Modus und stdio im Text-Modus.

­serial dev

Leitet den seriellen Port zum Char-Device dev um. Per Default ist das Device vc im grafi- schen Modus und stdio im Text-Modus. Diese Option kann mehrmals benutzt werden, um bis zu vier serielle Ports zu emulieren. Um alle seriellen Ports zu deaktivieren, ist die Op- tion -serial none zu verwenden. Mögliche Char-Devices sind:

vc[:WxH]

Definiert eine virtuelle Konsole. Optional kann die Breite und Höhe in Pixeln, zum Beispiel vc:800x600, oder in Anzahl Zeichen, zum Beispiel vc:80Cx24C, ange- geben werden.

pty

Unter Linux kann mit dieser Option ein Pseudo-TTY zugewiesen werden. Ein neues PTY wird automatisch zugeteilt.

none

Es wird kein Device zugeteilt.

null

Leseprobe

http://qemu-buch.de

Anhang

Die Umleitung erfolgt auf ein leeres Device.

/dev/XXX

Unter Linux kann mit dieser Option das serielle Port des Gast-Systems auf ein tty-Device des Hosts, zum Beispiel /dev/ttyS0, umgeleitet werden. Die Parame- ter für diese serielle Schnittstelle des Hosts werden entsprechend denen der emulierten Schnittstelle gesetzt.

/dev/parportN

Unter Linux kann mit dieser Option das serielle Port des Gast-Systems auf ein Parallel-Port N des Host-Systems umgeleitet werden. Zur Zeit können SPP und EPP Features verwendet werden.

file:filename

Leitet die Ausgabe des serielle Ports des Gast-Systems in eine Datei um. Eine Eingabe ist nicht möglich.

stdio

Unter Unix ist dies der Standard für die Ein- und Ausgabe.

pipe:filename

Leitet die Ausgabe des serielle Ports des Gast-Systems in eine benannte Pipe um.

COMn

Unter Windows kann mit dieser Option das serielle Port des Gast-Systems auf ein ein serielles Port des Hosts, zum Beispiel COM1, umgeleitet werden.

udp:[remote_host]:remote_port[@[src_ip]:src_port]

Diese Option implementiert die UDP Net Konsole. Wenn die Parameter remote_host oder src_ip nicht angegeben werden, wird der Default-Wert von 0.0.0.0 verwednet. Wenn kein Quell-Port (src_port) angegeben wird, wird eine zu- fällige Portnummer ausgewählt. Für eine einfache Konsole ohne Eingabe, kann netcat bzw. nc (siehe Seite 291) verwendet werden. Dazu wird QEMU mit der Op- tion -serial udp::4555 und netcat mit den Optionen nc -u -l -p 4555 gestartet. Jedes- mal wenn QEMU auf dieses Port ausgibt, erscheint diese Ausgabe in der Net- Konsolen-Session. Um auch Zeichen via Net-Konsole zu senden, ist der Quell- Port festzulegen. Zum Beispiel -serial udp::4555@:4556.

tcp:[host]:port[,server][,nowait][,nodelay]

Die TCP-Net-Konsole hat zwei Modi. Ein Modus wird als location bezeichnet. Beim anderen Modus wartet QEMU auf eine Verbindung von location. Per Default wird die TCP-Net-Konsole zum Port des Hosts gesendet. Bei Verwen- dung der Option server warten QEMU, dass sich eine Socket-Applikation des Cli-

QEMU

Leseprobe

http://qemu-buch.de

ents zu dem Port verbindet, es sei denn nowait wurde angegeben. Die Option nodelay deaktiviert den Nagle-Buffering-Algorithmus. Wird die Option host weg- gelassen, wird die IP-Adresse 0.0.0.0 angenommen. Es ist nur möglich eine TCP- Verbindung herzustellen. Man kann mit einem Telnet-Client sich zu dem ent- sprechenden Device verbinden. Beispiel für für das Senden der TCP-Konsole zu der IP-Adresse 192.168.0.2 und dem Port 4444:

-serial tcp:192.168.0.2:4444 Bei folgenden Beispiel wartet QEMU auf eine Verbindung zu Port 4444. -serial tcp::4444,server

Bei folgenden Beispiel hört QEMU auf eine Verbindung auf der IP-Adresse 192.168.0.100 und dem Port 4444 ohne aber auf diese Verbindung zu warten. -serial tcp:192.168.0.100:4444,server,nowait

telnet:host:port[,server][,nowait][,nodelay]

Das Telnet-Protokoll wird anstelle der RAW-TCP-Sockets verwendet. Die Optio- nen haben die gleiche Funktion wie bei -serial tcp. Der Unterschied ist, dass die Verbindung über dem Port ähnlich wie beim Telnet-Protokoll funktioniert.

unix:path[,server][,nowait]

Es wird ein Unix-Domain-Socket anstelle eines TCP-Sockets verwendet. Diese Option wirkt in der gleichen Weise wie die Option -serial tcp mit der Ausnahme, das der Unix-Domain-Socket-Pfad für die Verbindung verwendet wird.

mon:dev_string

Diese spezielle Option erlaubt, dass der QEMU-Monitor zu einem weiteren seri- ellen Port weiterzuleiten. Auf den Monitor kann mit der Tastenkombination [Strg]+[A] gefolgt von [C] zugegriffen werden. In diesem Beispiel wird der Moni- tor zu einem Telnet-Server weitergeleitet, der auf das Port 4444 lauscht:

-serial mon:telnet::4444,server,nowait

­parallel dev

Leitet den parallelen Port zum Char-Device dev um.

­echr numeric_ascii_value

Wurde die Option -nographic angegeben, kann mit der Option -echr die Tastenkombination [Strg]+[A] geändert werden. Die Default-Einstellung ist 0x01 und entspricht dem Buchsta- ben A. Die anderen Buchstaben werden entsprechend ihrer Position im Alphabet codiert. Es ist möglich diese Zahl in Dezimal- oder Hexadezimal-Schreibweise anzugeben. Soll zum Beispiel die Tastenkombination auf [Strg]+[T] geändert werden, ist dazu -echr 0x14 oder -echr 20 anzugeben.

­pidfile file

Schreibt die PID in die Datei file.

Leseprobe

http://qemu-buch.de

Anhang

­S

Friert die CPU beim Start ein. Die Taste [C] startet die Ausführung.

­s

Wartet auf eine GDB-Verbindung auf Port 1234.

­p port

Ändert den Port für die GDB-Verbindung auf port.

­d item1,

Schreibt Logdaten in die Logdatei /tmp/qemu.log.

­d ?

Anzeige einer Liste mit allen Log-Items.

­hdachs c,h,s[,t]

Erzwingt für die virtuelle Festplatte die Verwendung der angegebenen physikalischen Geometrie (1 <= c <= 16383, 1 <= h <= 16, 1 <= s <= 63) und bewirkt optional den BIOS-Trans- lation-Modus (t=none, lba oder auto). Bei modernen Festplatten erkennt QEMU diese Wer- te automatisch. Nützlich ist diese Option für alte DOS-Festplatten.

­L path

Definiert den Pfad zum Verzeichnis mit den BIOS- und VGA-BIOS-Dateien.

­daemonize

QEMU wird nicht von der Standardein-/ausgabe getrennt, bis die Devices von QEMU in der Lage sind, Verbindungen aufzunehmen. Diese Option ist nützlich zur Vermeidung von Race-Conditions während der Initialisierung von QEMU.

­option­rom file

Lädt den Inhalt der angegebenen Datei file als optionales ROM für EtherBoot (siehe QEMU-Option -boot n).

­clock

Gibt die Methoden des Timer-Alarms. Die verfügbaren Methoden (dynticks, hpet, rtc, unix) werden mit -clock help angezeigt.

­kernel­kqemu

Aktiviert die volle KQEMU-Virtualisierung.

­no­kqemu

Deaktiviert die Verwendung des KQEMU-Kernelmoduls. Dies kann zum Beispiel beim Be- treiben einer Virtualisierungssoftware innerhalb der QEMU-Instanz notwendig sein.

­std­vga

QEMU

Leseprobe

http://qemu-buch.de

Simuliert eine Standard-VGA-Karte mit VESA-Bochs-Extensions. Per Default wird eine CL- GD5446-PCI-VGA-Karte emuliert.

­no­acpi

Deaktiviert ACPI.

­no­reboot

Unterbindet ein Reboot des Systems, beendet stattdessen QEMU.

­loadvm file

Startet QEMU direkt mit einem zuvor gesicherten Zustand der virtuellen Maschine. Dies entspricht loadvm im QEMU-Monitor.

­semihosting

Aktiviert die Semihosting Syscall Emulation (nur bei ARM- und M68K-Ziel-Maschinen). Bei der ARM-Architektur wird das „Angel“-Interface implementiert. Für die M68K-Archi- tektur wird das „ColdFire GDB“-Interface implementiert. Dabei wird dem Gast-System di- rekter Zugriff auf das Host-Filesystem erlaubt und sollte nur bei vertrauenswürdigen Gast-Systemen verwendet werden.

­vnc display[,option[,option[,

Startet QEMU mit einem VNC-Server auf der Displaynummer display. Normalerweise nutzt QEMU für die VGA-Ausgabe das Simple DirectMedia Layer (SDL). Mit der Option -vnc ist es möglich die Ausgabe über eine VNC-Session umzuleiten. Sehr nützlich ist es da- bei die Option -usbdevice tablet zu verwenden. Weiterhin kann das Tastatur-Layout mit der Option -k anzugeben. Für display ist folgende Syntax möglich:

]]]

interface:d

TCP-Verbindungen werden nur vom Interface auf Display d erlaubt. Der TCP- Port ist 5900+d. Der Parameter interface kann weggelassen werden, wenn der Server sich zu allen Interfaces verbindet.

unix:path

Die Verbindung wird über ein UNIX-Domain-Sockets ermöglicht. Der Parame- ter path definiert den Pfad zu dem Socket.

none

VNC wird zwar initialisiert aber nicht gestartet. Im QEMU-Monitor kann VNC mit dem Befehl change vnc gestartet werden.

Folgende Optionen können nach display angegeben werden. Mehrere Optionen werden durch Komma getrennt.

Leseprobe

http://qemu-buch.de

Anhang

password

Erfordert für die Verbindung zum Client eine Passwort-Authentifizierung. Das Passwort muss dazu im QEMU-Monitor mit dem Befehl change vnc password ge- setzt worden sein.

tls

Zur Erhöhung der Sicherheit wird für die Verbindung vom Client zum Server anonymous TLS (Transport Layer Security) angewendet. Diese Option sollte mit der Option x509 oder x509verify kombiniert werden.

x509=/path/to/certificate/dir

Diese Option ist zusammen mit der Option tls anzuwenden und erfordert ein x509-Zertifikat zum abgesicherten Verbindungsaufbau. Der Server sendet dabei sein x509-Zertifikat zum Client. Die Festlegung eines Passwortes ist zu empfeh- len. Nach dem Gleichheitszeichen wird der Pfad zu der Zertifikatsdatei anzuge- ben.

x509verify=/path/to/certificate/dir

Diese Option ist zusammen mit der Option tls anzuwenden und erfordert x509- Zertifikate zum abgesicherten Verbindungsaufbau. Der Server sendet dabei sein x509-Zertifikat zum Client und fordert vom Client dessen x509-Zertifikat an. Anschließend überprüft der Server das Zertifikat des Clients gegen das CA- Zertifikat. Die Festlegung eines Passwortes ist zu empfehlen. Nach dem Gleich- heitszeichen wird der Pfad zu der Zertifikatsdatei anzugeben.

Spezielle Linux­Bootoptionen

Mit Hilfe dieser Optionen kann ein Linuxkernel gebootet werden, ohne dass dieser vorher auf eine virtuelle Festplatte installiert werden muss.

­kernel bzImage

Verwendet die Datei bzImage als Kernel-Image.

­initrd file

Verwendet die Datei file als Initial-RAM-Disk.

­append cmdline

Verwendet cmdline als Kernel-Bootoptionen. Diese Optionen hängen vom Kernel des Gast- Systems ab.

QEMU

Leseprobe

http://qemu-buch.de

User Mode Emulation

Bei Linux als Host-System.

qemu­i386 [­h] [­d] [­L path] [­s size] program [arguments

Bei Mac OS X/Darwin als Host-System.

qemu­darwin­i386 [­h] [­d] [­L path] [­s size]

program [arguments

Optionen:

­h

Gibt eine Hilfestellung aus.

­g port

Wartet auf eine Verbindung des Debuggers gdb zum Port port.

­L path

Linux: Setzt den x86-ELF-Interpreter-Prefix (Default = /usr/local/qemu-i386). Mac OS X/Darwin: Setzt den Library-Root-Path (Default = /).

­s size

Setzt die x86-Stack-Größe in Bytes (Default = 524288).

­cpu model

Wählt das CPU Model. -cpu ? gibt eine List der möglichen CPU-Modelle aus.

­d

Aktiviert das Logging (Log-Date = /tmp/qemu.log).

­p pagesize

Simuliert eine Host-Page-Size entsprechend pagesize in Bytes.

­strace

Loggt die System-Calls.

QEMU_STRACE

Wenn diese Environment-Variable mit einem Wert belegt ist, werden die System-Calls ähnlich wie bei dem Strace-Programm ausgegeben.

]

\

]

Leseprobe

http://qemu-buch.de

Anhang

Tastaturk ü rzel

Im Fenster einer QEMU-Instanz können folgende Tastaturkürzel eingegeben werden:

[Strg]+[Alt]

Freigabe der Maus und Tastatur

[Strg]+[Alt]+[1]

Wechsel zur Konsole 1: Anzeige des Gast-Betriebssystems.

[Strg]+[Alt]+[2]

Wechsel zur Konsole 2: QEMU-Monitor.

[Strg]+[Alt]+[3]

Wechsel zur Konsole 3: Serielle Ausgabe.

[Strg]+[Alt]+[4]

Wechsel zur Konsole 4: Parallele Ausgabe.

[Strg]+[Alt]+[H]

Gibt Hilfestellung bei der Option -nographic.

[Strg]+[Alt]+[F]

Umschalten zwischen Vollbild und Fenster.

Tabelle 26: Tastaturkürzel in einer QEMU-Instanz

In den virtuellen Konsolen einer QEMU-Instanz dienen die Tastenkombinationen [Strg] +[Kursor nach oben], [Strg] +[Kursor nach unten], [Strg] +[Bild nach oben] und [Strg] +[Bild nach unten] zum Bewegen im Text. Mit der Option -echr können diese Tastaturkür- zel angepasst werden.

Bei Verwendung der Option -nographic sind folgende Tastenkombinationen möglich.

[Strg]+[A]+[H]

Ausgabe einer Hilfestellung.

[Strg]+[A]+[X]

Beendet QEMU.

[Strg]+[A]+[S]

Sichert die Änderungen auf die virtuelle Festplatte bei Verwendung

[Strg]+[A]+[T]

der Option -snapshot. (De-)Aktiviert Zeitmarken in der Konsole.

[Strg]+[A]+[B]

Sendet einen Break (Magic Sysrq in Linux).

[Strg]+[A]+[C]

Wechselt zwischen Konsole und QEMU-Monitor.

[Strg]+[A] [Strg]+[A]

Sendet die Tastenkombination [Strg]+[A].

Tabelle 27: Tastaturkürzel bei Verwendung der Option -nographic

QEMU

Leseprobe

http://qemu-buch.de

QEMU­Monitor

Der QEMU-Monitor unterstützt durch Befehle die Manipulation einer QEMU-Instanz wäh- rend der Laufzeit:

Wechseln oder Auswerfen von Wechselmedien (CD/DVD-ROMs, Floppies).

Das Einfrieren und Weiterlaufen lassen einer virtuellen Maschine.

Das Sichern und das Restore des Zustands der virtuellen Maschine.

Inspizieren des Zustands einer virtuellen Maschine.

Der QEMU-Monitor versteht Integer-Ausdrücke für jedes Integer-Argument. Registerna- men mit vorangestelltem $ (Dollar-Zeichen) enthalten die Werte von CPU-Registern. Die folgenden Befehle stehen zur Verfügung:

(qemu) help or ? [cmd]

Hilfestellung für alle Befehle oder einen angegebenen Befehl.

(qemu) commit device | all

Sichern der Änderungen auf das angegebene Device beziehungsweise auf alle Devices. Voraussetzung ist die Verwendung der QEMU-Option -snapshot.

(qemu) info

Dieser Befehl mit seinen Parametern informiert über den Zustand der virtuellen Maschi- ne. Folgende Parameter sind möglich.

(qemu) info version

Zeigt die QEMU-Version an.

(qemu) info network

Zeigt Informationen über VLANs und die zugehörigen Devices an.

(qemu) info block

Zeigt Informationen zu den Block-Devices (Floppies, Festplatten, CD-/DVD- ROM-Laufwerke) an.

(qemu) info registers

Zeigt die CPU-Register an.

(qemu) info history

Zeigt die Befehlszeilen-History an.

(qemu) info irq

Zeigt, wenn vorhanden, Statistiken zu den Interrupts an.

Leseprobe

http://qemu-buch.de

Anhang

(qemu) info pic

Zeigt die Zustände der i8259-Chips (PIC) an.

(qemu) info pci

Zeigt die emulierten PCI-Devices an.

(qemu) info tlb

Zeigt das Mapping von virtuellem zu physischem Speicher an.

(qemu) info mem

Zeigt das aktive virtuelle Speicher-Mapping an.

(qemu) info jit

Zeigt dynamische Compiler-Informationen an.

(qemu) info kqemu

Zeigt Informationen zu KQEMU an.

(qemu) info usb

Zeigt die am virtuellen USB-Hub des Gastes angeschlossenen USB-Devices an.

(qemu) info usbhost

Anzeige der USB-Geräte des Host-Systems.

(qemu) info profile

Zeigt Informationen zum internen Profiler an.

(qemu) info capture

Zeigt Informationen über aktive Soundmitschnitte (siehe wavcapture) an.

(qemu) info snapshots

Zeigt eine Liste der erzeugten VM-Snapshots an.

(qemu) info mice

Zeigt die aktive Maus des Gast-Systems an.

(qemu) info vnc

Zeigt den Zustand des VNC-Servers an.

(qemu) q

oder

(qemu) quit

Beendet QEMU.

QEMU

Leseprobe

http://qemu-buch.de

(qemu) eject [­f] device

Wirft ein Wechselmedium (CD/DVD, Floppy) aus. Die Option -f forciert den Auswurf.

(qemu) change device filename

Tauscht ein Wechselmedium (CD/DVD, Floppy) aus.

(qemu) change vnc display,options

Ändert die Konfiguration des VNC-Servers. Die Syntax für display und options entsprechen

denen der QEMU-Startoption -vnc display[,option[,option[,

]]]

(qemu) change vnc password

Ändert das Passwort des VNC-Servers. Das Passwort ist signifikant bis zu 8 Zeichen.

(qemu) change vnc password Password: ******** (qemu) screendump filename

Sichert ein Bildschirmfoto als Grafikdatei im PPM-Format.

(qemu) mouse_move dx dy [dz]

Verschiebt den Mauskursor des Gast-Systems um die angegebenen Koordinaten dx und dy. Optional kann die Scrollachse mit dz gedreht werden.

(qemu) mouse_button val

Ändert den Zustand einer Maustaste (1 = links, 2 = Mitte, 4 = rechts) im Gast-System.

(qemu) mouse_set index

Ändert das aktive Mausdevice auf die angegebene Nummer index. Informationen über verfügbare Mausdevices und ihre Indexnummern gibt der Befehl info mice.

(qemu) wavcapture file [frequency bits channels]

Nimmt die Soundausgabe des Gast-Systems auf und speichert sie in die angegebene Datei. Weitere Angaben definieren die Frequenz der Samplerate, die Sample-Bits und die Anzahl der Kanäle (Channels). Die Defaultwerte sind Samplerate = 44100 Hz (CD-Qualität), Bits = 16 und Anzahl der Channels = 2 (Stereo).

(qemu) stopcapture index

Beendet die Aufnahme mit einem vorgegebenen Index. Der Index kann mit info capture er- mittelt werden.

(qemu) log item1[,

]

Schreibt Logdaten in die Logdatei /tmp/qemu.log.

Leseprobe

http://qemu-buch.de

Anhang

(qemu) savevm tag | id

Erzeugt einen VM-Snapshot der gesamten virtuellen Maschine. Voraussetzung ist zumin- dest ein Image im qcow2-Format. Dieser VM-Snapshot kann mit einem Namen (tag) oder einer aufsteigenden Nummer (id) für jeden VM-Snapshot bezeichnet werden. Gibt es be- reits einen VM-Snapshot mit dem gleichen tag oder mit der gleichen id, wird dieser über- schrieben. Informationen zu den vorhandenen VM-Snapshots gibt im QEMU-Monitor der Befehl info snapshots. Bei der QEMU-Startoption -snapshot können zwar VM-Snapshots an- gelegt werden, diese gehen aber nach dem Beenden der virtuellen Maschine verloren.

(qemu) loadvm tag | id

Versetzt die gesamte virtuelle Maschine in den Zustand des zuvor gespeicherten VM- Snapshots. Dieser VM-Snapshot kann mit einem Namen (tag) oder einer aufsteigenden Nummer (id) für jeden VM-Snapshot bezeichnet werden. Dies entspricht der QEMU-Start- option -loadvm. Informationen zu den vorhandenen VM-Snapshots gibt im QEMU-Moni- tor der Befehl info snapshots.

(qemu) delvm tag | id

Löscht einen VM-Snapshot. Dieser VM-Snapshot kann mit einem Namen (tag) oder einer aufsteigenden Nummer (id) für jeden VM-Snapshot bezeichnet werden. Informationen zu den vorhandenen VM-Snapshots gibt im QEMU-Monitor der Befehl info snapshots.

(qemu) stop

Lässt die QEMU-Instanz pausieren.

(qemu) c

oder

(qemu) cont

lässt die durch stop pausierende QEMU-Instanz weiterlaufen.

(qemu) gdbserver [port]

Startet eine GDB-Server-Session. Voreingestellt ist Port 1234.

(qemu) x/fmt addr

Erzeugt einen Dump des virtuellen Speichers ab Adresse addr.

(qemu) xp /fmt addr

Erzeugt einen Dump des physikalischen Speichers ab Adresse addr. Der Parameter fmt de- finiert, wie die Daten formatiert werden sollen. Die Syntax ist /{count}{format}{size}

count

Ist die Anzahl der Einträge, die zu dumpen sind.

format

QEMU

Leseprobe

http://qemu-buch.de

Das Format kann wie folgt definiert werden:

.

x

(hexadezimal)

d

(dezimal mit Vorzeichen)

u

(dezimal ohne Vorzeichen)

o

(oktal)

c

(Zeichen)

i

(Assemblerbefehl)

size

Die Größe kann wie folgt definiert werden:

b

(8 Bit)

h

(16 Bit)

w

(32 Bit)

g

(64 Bit).

Bei der x86-CPU kann h oder w mit dem i-Format definiert werden, um die Grö- ße des Assemblerbefehls (16 oder 32 Bit) festzulegen. Das folgende Beispiel er- zeugt einen Dump und stellt das Ergebnis in Form von Assemblerbefehlen von zehn Anweisungen ab der aktuellen Ausführungsposition (der Adresse im EIP- Register) dar:

(qemu) x/10i $eip

Das folgende Beispiel erzeugt einen Hexdump von 80 16-Bit-Werten ab dem An- fang des Videospeichers (im Textmodus):

(qemu) xp/80hx 0xb8000

(qemu) p oder print/fmt expr

Gibt den Wert des Ausdrucks expr aus. Dabei wird fmt zur Formatierung des Ergebnisses verwendet. Beispiele:

(qemu)p 5+8

13

(qemu)p 's'

115

(qemu) p /c 's'

s

(qemu) i /fmt addr

Liest einen I/O-Port aus.

(qemu) system_reset

Bewirkt einen System-Reset.

(qemu) system_powerdown

Sendet ein System-Power-Down-Event.

Leseprobe

http://qemu-buch.de

Anhang

(qemu) sum addr size

Berechnet die Checksumme eines Speicherbereichs.

(qemu) usb_add device

Fügt ein USB-Device hinzu.

(qemu) usb_del device

Entfernt das USB-Device device vom virtuellen USB-Hub. device hat die Syntax bus.addr. Der QEMU-Monitor-Befehl info usb zeigt die USB-Devices an.

(qemu) cpu index

Setzt die Default-CPU.

(qemu) sendkey keys

Der Befehl sendkey sendet die Tastencodes keys zum Emulator. Dadurch können auch Tas- tenkombinationen zum Emulator gesendet werden, die bereits vom Host-System inter- pretiert werden würden. Mehrere Tastencodes für Tastenkombinationen werden mit dem Minuszeichen verbunden. Beispiel: sendkey ctrl-alt-f1

Die Tastencodes der Buchstabentasten werden mit den entsprechenden Kleinbuchstaben dargestellt. Die Tastencodes der Zahlentasten werden mit den entsprechenden Zahlen co- diert. Weitere Tastencodes sind: shift, shift_r (rechte Shift-Taste), alt, alt_r, ctrl, ctrl_r, menu (Windows-Taste), esc, minus (Bindestrich), equal (Gleichheitszeichen), backspace, tab, ret (Return), spc (Leertaste) und caps_lock.

Die Funktionstasten ergeben sich durch die Tastencodes f1 bis f12. Die Tastencodes der Zehnertastatur sind num_lock, scroll_lock, kp_divide (geteilt durch), kp_multiply, kp_sub- stract, kp_add, kp_enter, kp_decimal. Die Zahlen auf der Zehner-Tastatur werden wie folgt codiert: kp_0,.kp_1, kp_2, kp_3, kp_4, kp_5, kp_6, kp_7, kp_8 und kp_9.

Die Kursortasten und die Tasten darüber werden mit folgenden Tastencodes dargestellt:

print, home, pgup, pgdn, end, left, up, down, right, insert und delete.

QEMU

Leseprobe

http://qemu-buch.de

shift shift_r alt alt_r ctrl ctrl_r menu esc minus equal backspace tab ret spc caps_lock f1 - f12 num_lock scroll_lock kp_divide kp_multiply kp_substract kp_add kp_enter kp_decimal kp_0 - kp_9 print

Shift, Umschalttaste Shift rechts, Umschalttaste rechts Alt Taste (Alt) Alt Taste rechts (AltGr) Control-Taste (Strg) Control-Taste (Strg) rechts Windows-Taste Esc-Taste Minus-Taste Gleichheitszeichen-Taste Delete-Taste Tabulator-Taste Return-Taste (Enter) Space-Taste (Leerzeichen) Hochstell-Taste Funktionstasten F1 bis F12 Num-Taste Rollen-Taste /-Taste (Ziffernblock) *-Taste (Ziffernblock) --Taste (Ziffernblock) +-Taste (Ziffernblock) Enter-Taste (Ziffernblock) ,-Taste (Ziffernblock) Ziffern 0 – 9 (Ziffernblock) Druck-Taste

home

Pos1-Taste

pgup pgup end insert delete left right up down 0 - 9 a - z

Bild auf - Taste Bild ab – Taste Ende-Taste Einfg - Taste Entf - Taste Kursortaste links Kursortaste rechts Kursortaste auf Kursortaste ab Zifferntasten Buchstabentasten

Tabelle 28: QEMU-Monitor – sendbare Tastencodes

Leseprobe

http://qemu-buch.de

Anhang

qemu­img

qemu-img ist ein Tool zum Erzeugen und Konvertieren von Image-Dateien.

Host ~$ qemu­img Befehl [Optionen]

Befehle

create [­e] [­6] [­b base_image] [­f fmt] filename [size]

Erzeugt ein Image.

commit [­f fmt] filename

Speichert die Änderungen in das Base-Image.

convert [­c] [­e] [­6] [­f fmt] filename [filename2 [ output_fmt] output_filename

Konvertiert ein Image in ein anderes Format.

info [­f fmt] filename

Zeigt Informationen zu einem Image an.

]]

[­O

Parameter

filename

Name einer Image-Datei.

base_image

Ist eine schreibgeschützte Image-Datei, die als Grundlage für eine beschreibbare Image- Datei dient. Die daraus erzeugte Kopie enthält nur die zum Original modifizierten Daten.

fmt

Definiert das Format der Image-Datei.

size

Definiert die Größe der Image-Datei in Kilobyte. Die optionalen Suffixes M (Megabyte) und G (Gigabyte) sind möglich.

output_filename

Definiert den Namen der Ziel-Image-Datei.

output_fmt

Definiert das Ziel-Format.

­c

Ermöglicht ein komprimiertes Zielformat beim qcow- und qcow2-Format.

QEMU

Leseprobe

http://qemu-buch.de

­e

Ermöglicht ein verschlüsseltes Zielformat beim qcow- und qcow2-Format.

­6

Erzwingt beim vmdk-Format das Kompatibilitäts-Level 6 für die Ziel-Imagedatei.

Unterst ü tzte Image­Formate

raw

qcow2

qcow

cow

vmdk

cloop

Das raw-Disk-Image-Format ist das Defaultformat von QEMU. Es ist einfach aufgebaut und lässt sich leicht konvertieren. Wird ein neues, leeres Image im raw-Format in einer bestimmten Größe, zum Beispiel 10 GByte, erzeugt, be- legt es bei älteren Filesystemen genau diese Größe (hier 10 GByte). Neuere Dateisysteme wie zum Beispiel ext2, ext3 und XFS unter Linux oder NTFS un- ter Microsoft Windows, unterstützen eine effektivere Verwaltung von Datei- en, die unbelegte Blöcke enthalten. Solche Dateien belegen in diesen Dateisystemen etwa nur den Platz, den sie an belegten Blöcken umfassen. Eine Datei mit unbelegten Blöcken heißt Sparse-Datei. Images im Format raw können auch als Sparse-Files angelegt werden. Das Format qcow2 ist das vielseitigste Format und löst das alte Format qcow ab. Images im qcow2-Format sind dynamisch, das heißt, ihre Größe hängt von ih- rem Füllstand ab. Beim Format qcow2 ist die Dateigröße unabhängig davon, ob das Dateisystem eine effiziente Verwaltung von Sparse-Files unterstützt. qcow2 unterstützt das mehrfache Abspeichern von Systemzuständen der vir- tuellen Maschine (VM-Snapshots). Außerdem ist AES-Verschlüsselung und Kompression möglich. Bei qcow2 wird der Inhalt in Clustern gespeichert. Jedes Cluster enthält eine Anzahl von 512 Byte großen Sektoren. Durch einen Pro- grammierfehler in der QEMU-Version 0.9.0 kann es bei Image-Dateien größer 4 GByte zu Datenverlust kommen. qcow ist das alte QEMU-Image-Format. Images im qcow-Format sind dyna- misch, das heißt, ihre Größe hängt von deren Füllstand ab. Bei qcow hängt die Dateigröße nicht davon ab, ob das Dateisystem eine effiziente Verwaltung von Sparse-Files erlaubt. Weiterhin unterstützt qcow Verschlüsselung und Kom- pression. Bei diesem Format wird der Inhalt in Clustern gespeichert. Jedes Cluster enthält eine Anzahl von 512 Byte großen Sektoren. Das alte Format (User Mode Linux) Copy-on-Write ist nur noch aufgrund der Kompatibilität mit älteren QEMU-Versionen vorhanden. Es funktioniert nicht unter Microsoft Windows. vmdk ist das Standardformat für Images von VMware Workstation 3 und 4. Das Format (Linux) Compressed Loop Image wird für komprimierte CD-ROM- Images verwendet, beispielsweise für Knoppix-CD/DVD-ROMs.

(Linux) Compressed Loop Image wird für komprimierte CD-ROM- Images verwendet, beispielsweise für Knoppix-CD/DVD-ROMs.
(Linux) Compressed Loop Image wird für komprimierte CD-ROM- Images verwendet, beispielsweise für Knoppix-CD/DVD-ROMs.
(Linux) Compressed Loop Image wird für komprimierte CD-ROM- Images verwendet, beispielsweise für Knoppix-CD/DVD-ROMs.
(Linux) Compressed Loop Image wird für komprimierte CD-ROM- Images verwendet, beispielsweise für Knoppix-CD/DVD-ROMs.
(Linux) Compressed Loop Image wird für komprimierte CD-ROM- Images verwendet, beispielsweise für Knoppix-CD/DVD-ROMs.

Tabelle 29: Die von QEMU unterstützten Image-Formate.