File:  [Qemu by Fabrice Bellard] / qemu / qemu.1
Revision (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:11:38 2018 UTC (2 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu0104, HEAD
qemu 0.10.4

.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.07)
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.if t .Sp
.ne 5
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
.de Vb \" Begin verbatim text
.ft CW
.ne \\$1
.de Ve \" End verbatim text
.ft R
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
.    nr % 0
.    rr F
.el \{\
.    de IX
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.rm #[ #] #H #V #F C
.\" ========================================================================
.IX Title "QEMU 1"
.TH QEMU 1 "2009-05-01" " " " "
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
qemu\-doc \- QEMU Emulator User Documentation
usage: qemu [options] [\fIdisk_image\fR]
The \s-1QEMU\s0 \s-1PC\s0 System emulator simulates the
following peripherals:
.IP "\-" 4
i440FX host \s-1PCI\s0 bridge and \s-1PIIX3\s0 \s-1PCI\s0 to \s-1ISA\s0 bridge
.IP "\-" 4
Cirrus \s-1CLGD\s0 5446 \s-1PCI\s0 \s-1VGA\s0 card or dummy \s-1VGA\s0 card with Bochs \s-1VESA\s0
extensions (hardware level, including all non standard modes).
.IP "\-" 4
\&\s-1PS/2\s0 mouse and keyboard
.IP "\-" 4
2 \s-1PCI\s0 \s-1IDE\s0 interfaces with hard disk and CD-ROM support
.IP "\-" 4
Floppy disk
.IP "\-" 4
\&\s-1PCI/ISA\s0 \s-1PCI\s0 network adapters
.IP "\-" 4
Serial ports
.IP "\-" 4
Creative SoundBlaster 16 sound card
.IP "\-" 4
\&\s-1ENSONIQ\s0 AudioPCI \s-1ES1370\s0 sound card
.IP "\-" 4
Intel 82801AA \s-1AC97\s0 Audio compatible sound card
.IP "\-" 4
Adlib(\s-1OPL2\s0) \- Yamaha \s-1YM3812\s0 compatible chip
.IP "\-" 4
Gravis Ultrasound \s-1GF1\s0 sound card
.IP "\-" 4
\&\s-1CS4231A\s0 compatible sound card
.IP "\-" 4
\&\s-1PCI\s0 \s-1UHCI\s0 \s-1USB\s0 controller and a virtual \s-1USB\s0 hub.
\&\s-1SMP\s0 is supported with up to 255 CPUs.
Note that adlib, gus and cs4231a are only available when \s-1QEMU\s0 was
configured with \-\-audio\-card\-list option containing the name(s) of
required card(s).
\&\s-1QEMU\s0 uses the \s-1PC\s0 \s-1BIOS\s0 from the Bochs project and the Plex86/Bochs \s-1LGPL\s0
\&\s-1VGA\s0 \s-1BIOS\s0.
\&\s-1QEMU\s0 uses \s-1YM3812\s0 emulation by Tatsuyuki Satoh.
\&\s-1QEMU\s0 uses \s-1GUS\s0 emulation(\s-1GUSEMU32\s0 <\fB\fR>)
by Tibor \*(L"\s-1TS\s0\*(R" SchA\*~Xtz.
\&\s-1CS4231A\s0 is the chip used in Windows Sound System and \s-1GUSMAX\s0 products
.IX Header "OPTIONS"
\&\fIdisk_image\fR is a raw hard disk image for \s-1IDE\s0 hard disk 0. Some
targets do not need a disk image.
Standard options:
.IP "\fB\-h\fR" 4
.IX Item "-h"
Display help and exit
.IP "\fB\-version\fR" 4
.IX Item "-version"
Display version information and exit
.IP "\fB\-M\fR \fImachine\fR" 4
.IX Item "-M machine"
Select the emulated \fImachine\fR (\f(CW\*(C`\-M ?\*(C'\fR for list)
.IP "\fB\-cpu\fR \fImodel\fR" 4
.IX Item "-cpu model"
Select \s-1CPU\s0 model (\-cpu ? for list and additional feature selection)
.IP "\fB\-smp\fR \fIn\fR" 4
.IX Item "-smp n"
Simulate an \s-1SMP\s0 system with \fIn\fR CPUs. On the \s-1PC\s0 target, up to 255
CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
to 4.
.IP "\fB\-numa\fR \fIopts\fR" 4
.IX Item "-numa opts"
Simulate a multi node \s-1NUMA\s0 system. If mem and cpus are omitted, resources
are split equally.
.IP "\fB\-fda\fR \fIfile\fR" 4
.IX Item "-fda file"
.PD 0
.IP "\fB\-fdb\fR \fIfile\fR" 4
.IX Item "-fdb file"
Use \fIfile\fR as floppy disk 0/1 image. You can
use the host floppy by using \fI/dev/fd0\fR as filename.
.IP "\fB\-hda\fR \fIfile\fR" 4
.IX Item "-hda file"
.PD 0
.IP "\fB\-hdb\fR \fIfile\fR" 4
.IX Item "-hdb file"
.IP "\fB\-hdc\fR \fIfile\fR" 4
.IX Item "-hdc file"
.IP "\fB\-hdd\fR \fIfile\fR" 4
.IX Item "-hdd file"
Use \fIfile\fR as hard disk 0, 1, 2 or 3 image.
.IP "\fB\-cdrom\fR \fIfile\fR" 4
.IX Item "-cdrom file"
Use \fIfile\fR as CD-ROM image (you cannot use \fB\-hdc\fR and
\&\fB\-cdrom\fR at the same time). You can use the host CD-ROM by
using \fI/dev/cdrom\fR as filename.
.IP "\fB\-drive\fR \fIoption\fR\fB[,\fR\fIoption\fR\fB[,\fR\fIoption\fR\fB[,...]]]\fR" 4
.IX Item "-drive option[,option[,option[,...]]]"
Define a new drive. Valid options are:
.RS 4
.ie n .IP """file=\f(CIfile\f(CW""" 4
.el .IP "\f(CWfile=\f(CIfile\f(CW\fR" 4
.IX Item "file=file"
This option defines which disk image to use with
this drive. If the filename contains comma, you must double it
(for instance, \*(L"file=my,,file\*(R" to use file \*(L"my,file\*(R").
.ie n .IP """if=\f(CIinterface\f(CW""" 4
.el .IP "\f(CWif=\f(CIinterface\f(CW\fR" 4
.IX Item "if=interface"
This option defines on which type on interface the drive is connected.
Available types are: ide, scsi, sd, mtd, floppy, pflash, virtio.
.ie n .IP """bus=\f(CIbus\f(CW,unit=\f(CIunit\f(CW""" 4
.el .IP "\f(CWbus=\f(CIbus\f(CW,unit=\f(CIunit\f(CW\fR" 4
.IX Item "bus=bus,unit=unit"
These options define where is connected the drive by defining the bus number and
the unit id.
.ie n .IP """index=\f(CIindex\f(CW""" 4
.el .IP "\f(CWindex=\f(CIindex\f(CW\fR" 4
.IX Item "index=index"
This option defines where is connected the drive by using an index in the list
of available connectors of a given interface type.
.ie n .IP """media=\f(CImedia\f(CW""" 4
.el .IP "\f(CWmedia=\f(CImedia\f(CW\fR" 4
.IX Item "media=media"
This option defines the type of the media: disk or cdrom.
.ie n .IP """cyls=\f(CIc\f(CW,heads=\f(CIh\f(CW,secs=\f(CIs\f(CW[,trans=\f(CIt\f(CW]""" 4
.el .IP "\f(CWcyls=\f(CIc\f(CW,heads=\f(CIh\f(CW,secs=\f(CIs\f(CW[,trans=\f(CIt\f(CW]\fR" 4
.IX Item "cyls=c,heads=h,secs=s[,trans=t]"
These options have the same definition as they have in \fB\-hdachs\fR.
.ie n .IP """snapshot=\f(CIsnapshot\f(CW""" 4
.el .IP "\f(CWsnapshot=\f(CIsnapshot\f(CW\fR" 4
.IX Item "snapshot=snapshot"
\&\fIsnapshot\fR is \*(L"on\*(R" or \*(L"off\*(R" and allows to enable snapshot for given drive (see \fB\-snapshot\fR).
.ie n .IP """cache=\f(CIcache\f(CW""" 4
.el .IP "\f(CWcache=\f(CIcache\f(CW\fR" 4
.IX Item "cache=cache"
\&\fIcache\fR is \*(L"none\*(R", \*(L"writeback\*(R", or \*(L"writethrough\*(R" and controls how the host cache is used to access block data.
.ie n .IP """format=\f(CIformat\f(CW""" 4
.el .IP "\f(CWformat=\f(CIformat\f(CW\fR" 4
.IX Item "format=format"
Specify which disk \fIformat\fR will be used rather than detecting
the format. Can be used to specifiy format=raw to avoid interpreting
an untrusted format header.
.ie n .IP """serial=\f(CIserial\f(CW""" 4
.el .IP "\f(CWserial=\f(CIserial\f(CW\fR" 4
.IX Item "serial=serial"
This option specifies the serial number to assign to the device.
.RS 4
By default, writethrough caching is used for all block device. This means that
the host page cache will be used to read and write data but write notification
will be sent to the guest only when the data has been reported as written by
the storage subsystem.
Writeback caching will report data writes as completed as soon as the data is
present in the host page cache. This is safe as long as you trust your host.
If your host crashes or loses power, then the guest may experience data
corruption. When using the \fB\-snapshot\fR option, writeback caching is
used by default.
The host page can be avoided entirely with \fBcache=none\fR. This will
attempt to do disk \s-1IO\s0 directly to the guests memory. \s-1QEMU\s0 may still perform
an internal copy of the data.
Some block drivers perform badly with \fBcache=writethrough\fR, most notably,
qcow2. If performance is more important than correctness,
\&\fBcache=writeback\fR should be used with qcow2. By default, if no explicit
caching is specified for a qcow2 disk image, \fBcache=writeback\fR will be
used. For all other disk types, \fBcache=writethrough\fR is the default.
Instead of \fB\-cdrom\fR you can use:
.Vb 1
\&        qemu \-drive file=file,index=2,media=cdrom
Instead of \fB\-hda\fR, \fB\-hdb\fR, \fB\-hdc\fR, \fB\-hdd\fR, you can
.Vb 4
\&        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
You can connect a \s-1CDROM\s0 to the slave of ide0:
.Vb 1
\&        qemu \-drive file=file,if=ide,index=1,media=cdrom
If you don't specify the \*(L"file=\*(R" argument, you define an empty drive:
.Vb 1
\&        qemu \-drive if=ide,index=1,media=cdrom
You can connect a \s-1SCSI\s0 disk with unit \s-1ID\s0 6 on the bus #0:
.Vb 1
\&        qemu \-drive file=file,if=scsi,bus=0,unit=6
Instead of \fB\-fda\fR, \fB\-fdb\fR, you can use:
.Vb 2
\&        qemu \-drive file=file,index=0,if=floppy
\&        qemu \-drive file=file,index=1,if=floppy
By default, \fIinterface\fR is \*(L"ide\*(R" and \fIindex\fR is automatically
.Vb 1
\&        qemu \-drive file=a \-drive file=b"
is interpreted like:
.Vb 1
\&        qemu \-hda a \-hdb b
.IP "\fB\-mtdblock file\fR" 4
.IX Item "-mtdblock file"
Use 'file' as on-board Flash memory image.
.IP "\fB\-sd file\fR" 4
.IX Item "-sd file"
Use 'file' as SecureDigital card image.
.IP "\fB\-pflash file\fR" 4
.IX Item "-pflash file"
Use 'file' as a parallel flash image.
.IP "\fB\-boot [a|c|d|n]\fR" 4
.IX Item "-boot [a|c|d|n]"
Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot
is the default.
.IP "\fB\-snapshot\fR" 4
.IX Item "-snapshot"
Write to temporary files instead of disk image files. In this case,
the raw disk image you use is not written back. You can however force
the write back by pressing \fBC\-a s\fR.
.IP "\fB\-m\fR \fImegs\fR" 4
.IX Item "-m megs"
Set virtual \s-1RAM\s0 size to \fImegs\fR megabytes. Default is 128 MiB. Optionally,
a suffix of \*(L"M\*(R" or \*(L"G\*(R" can be used to signify a value in megabytes or
gigabytes respectively.
.IP "\fB\-k\fR \fIlanguage\fR" 4
.IX Item "-k language"
Use keyboard layout \fIlanguage\fR (for example \f(CW\*(C`fr\*(C'\fR for
French). This option is only needed where it is not easy to get raw \s-1PC\s0
keycodes (e.g. on Macs, with some X11 servers or with a \s-1VNC\s0
display). You don't normally need to use it on PC/Linux or PC/Windows
The available layouts are:
.Vb 3
\&        ar de\-ch es fo fr\-ca hu ja mk no pt\-br sv
\&        da en\-gb et fr fr\-ch is lt nl pl ru th
\&        de en\-us fi fr\-be hr it lv nl\-be pt sl tr
The default is \f(CW\*(C`en\-us\*(C'\fR.
.IP "\fB\-audio\-help\fR" 4
.IX Item "-audio-help"
Will show the audio subsystem help: list of drivers, tunable
.IP "\fB\-soundhw\fR \fIcard1\fR\fB[,\fR\fIcard2\fR\fB,...] or \-soundhw all\fR" 4
.IX Item "-soundhw card1[,card2,...] or -soundhw all"
Enable audio and selected sound hardware. Use ? to print all
available sound hardware.
.Vb 5
\&        qemu \-soundhw sb16,adlib disk.img
\&        qemu \-soundhw es1370 disk.img
\&        qemu \-soundhw ac97 disk.img
\&        qemu \-soundhw all disk.img
\&        qemu \-soundhw ?
Note that Linux's i810_audio \s-1OSS\s0 kernel (for \s-1AC97\s0) module might
require manually specifying clocking.
.Vb 1
\&        modprobe i810_audio clocking=48000
\&\s-1USB\s0 options:
.IP "\fB\-usb\fR" 4
.IX Item "-usb"
Enable the \s-1USB\s0 driver (will be the default soon)
.IP "\fB\-usbdevice\fR \fIdevname\fR" 4
.IX Item "-usbdevice devname"
Add the \s-1USB\s0 device \fIdevname\fR.
.RS 4
.ie n .IP """mouse""" 4
.el .IP "\f(CWmouse\fR" 4
.IX Item "mouse"
Virtual Mouse. This will override the \s-1PS/2\s0 mouse emulation when activated.
.ie n .IP """tablet""" 4
.el .IP "\f(CWtablet\fR" 4
.IX Item "tablet"
Pointer device that uses absolute coordinates (like a touchscreen). This
means qemu is able to report the mouse position without having to grab the
mouse. Also overrides the \s-1PS/2\s0 mouse emulation when activated.
.ie n .IP """disk:[format=\f(CIformat\f(CW]:file""" 4
.el .IP "\f(CWdisk:[format=\f(CIformat\f(CW]:file\fR" 4
.IX Item "disk:[format=format]:file"
Mass storage device based on file. The optional \fIformat\fR argument
will be used rather than detecting the format. Can be used to specifiy
format=raw to avoid interpreting an untrusted format header.
.ie n .IP """host:bus.addr""" 4
.el .IP "\f(CWhost:bus.addr\fR" 4
.IX Item "host:bus.addr"
Pass through the host device identified by bus.addr (Linux only).
.ie n .IP """host:vendor_id:product_id""" 4
.el .IP "\f(CWhost:vendor_id:product_id\fR" 4
.IX Item "host:vendor_id:product_id"
Pass through the host device identified by vendor_id:product_id (Linux only).
.ie n .IP """serial:[vendorid=\f(CIvendor_id\f(CW][,productid=\f(CIproduct_id\f(CW]:\f(CIdev\f(CW""" 4
.el .IP "\f(CWserial:[vendorid=\f(CIvendor_id\f(CW][,productid=\f(CIproduct_id\f(CW]:\f(CIdev\f(CW\fR" 4
.IX Item "serial:[vendorid=vendor_id][,productid=product_id]:dev"
Serial converter to host character device \fIdev\fR, see \f(CW\*(C`\-serial\*(C'\fR for the
available devices.
.ie n .IP """braille""" 4
.el .IP "\f(CWbraille\fR" 4
.IX Item "braille"
Braille device. This will use BrlAPI to display the braille output on a real
or fake device.
.ie n .IP """net:options""" 4
.el .IP "\f(CWnet:options\fR" 4
.IX Item "net:options"
Network adapter that supports \s-1CDC\s0 ethernet and \s-1RNDIS\s0 protocols.
.RS 4
.IP "\fB\-name\fR \fIname\fR" 4
.IX Item "-name name"
Sets the \fIname\fR of the guest.
This name will be displayed in the \s-1SDL\s0 window caption.
The \fIname\fR will also be used for the \s-1VNC\s0 server.
.IP "\fB\-uuid\fR \fIuuid\fR" 4
.IX Item "-uuid uuid"
Set system \s-1UUID\s0.
Display options:
.IP "\fB\-nographic\fR" 4
.IX Item "-nographic"
Normally, \s-1QEMU\s0 uses \s-1SDL\s0 to display the \s-1VGA\s0 output. With this option,
you can totally disable graphical output so that \s-1QEMU\s0 is a simple
command line application. The emulated serial port is redirected on
the console. Therefore, you can still use \s-1QEMU\s0 to debug a Linux kernel
with a serial console.
.IP "\fB\-curses\fR" 4
.IX Item "-curses"
Normally, \s-1QEMU\s0 uses \s-1SDL\s0 to display the \s-1VGA\s0 output. With this option,
\&\s-1QEMU\s0 can display the \s-1VGA\s0 output when in text mode using a
curses/ncurses interface. Nothing is displayed in graphical mode.
.IP "\fB\-no\-frame\fR" 4
.IX Item "-no-frame"
Do not use decorations for \s-1SDL\s0 windows and start them using the whole
available screen space. This makes the using \s-1QEMU\s0 in a dedicated desktop
workspace more convenient.
.IP "\fB\-alt\-grab\fR" 4
.IX Item "-alt-grab"
Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt).
.IP "\fB\-no\-quit\fR" 4
.IX Item "-no-quit"
Disable \s-1SDL\s0 window close capability.
.IP "\fB\-sdl\fR" 4
.IX Item "-sdl"
Enable \s-1SDL\s0.
.IP "\fB\-portrait\fR" 4
.IX Item "-portrait"
Rotate graphical output 90 deg left (only \s-1PXA\s0 \s-1LCD\s0).
.IP "\fB\-vga\fR \fItype\fR" 4
.IX Item "-vga type"
Select type of \s-1VGA\s0 card to emulate. Valid values for \fItype\fR are
.RS 4
.ie n .IP """cirrus""" 4
.el .IP "\f(CWcirrus\fR" 4
.IX Item "cirrus"
Cirrus Logic \s-1GD5446\s0 Video card. All Windows versions starting from
Windows 95 should recognize and use this graphic card. For optimal
performances, use 16 bit color depth in the guest and the host \s-1OS\s0.
(This one is the default)
.ie n .IP """std""" 4
.el .IP "\f(CWstd\fR" 4
.IX Item "std"
Standard \s-1VGA\s0 card with Bochs \s-1VBE\s0 extensions. If your guest \s-1OS\s0
supports the \s-1VESA\s0 2.0 \s-1VBE\s0 extensions (e.g. Windows \s-1XP\s0) and if you want
to use high resolution modes (>= 1280x1024x16) then you should use
this option.
.ie n .IP """vmware""" 4
.el .IP "\f(CWvmware\fR" 4
.IX Item "vmware"
VMWare SVGA-II compatible adapter. Use it if you have sufficiently
recent XFree86/XOrg server or Windows guest with a driver for this
.ie n .IP """none""" 4
.el .IP "\f(CWnone\fR" 4
.IX Item "none"
Disable \s-1VGA\s0 card.
.RS 4
.IP "\fB\-full\-screen\fR" 4
.IX Item "-full-screen"
Start in full screen.
.IP "\fB\-vnc\fR \fIdisplay\fR\fB[,\fR\fIoption\fR\fB[,\fR\fIoption\fR\fB[,...]]]\fR" 4
.IX Item "-vnc display[,option[,option[,...]]]"
Normally, \s-1QEMU\s0 uses \s-1SDL\s0 to display the \s-1VGA\s0 output. With this option,
you can have \s-1QEMU\s0 listen on \s-1VNC\s0 display \fIdisplay\fR and redirect the \s-1VGA\s0
display over the \s-1VNC\s0 session. It is very useful to enable the usb
tablet device when using this option (option \fB\-usbdevice
tablet\fR). When using the \s-1VNC\s0 display, you must use the \fB\-k\fR
parameter to set the keyboard layout if you are not using en-us. Valid
syntax for the \fIdisplay\fR is
.RS 4
.ie n .IP """\f(CIhost\f(CW:\f(CId\f(CW""" 4
.el .IP "\f(CW\f(CIhost\f(CW:\f(CId\f(CW\fR" 4
.IX Item "host:d"
\&\s-1TCP\s0 connections will only be allowed from \fIhost\fR on display \fId\fR.
By convention the \s-1TCP\s0 port is 5900+\fId\fR. Optionally, \fIhost\fR can
be omitted in which case the server will accept connections from any host.
.ie n .IP """\f(CW""unix""\f(CW:\f(CIpath\f(CW""" 4
.el .IP "\f(CW\f(CWunix\f(CW:\f(CIpath\f(CW\fR" 4
.IX Item "unix:path"
Connections will be allowed over \s-1UNIX\s0 domain sockets where \fIpath\fR is the
location of a unix socket to listen for connections on.
.ie n .IP """none""" 4
.el .IP "\f(CWnone\fR" 4
.IX Item "none"
\&\s-1VNC\s0 is initialized but not started. The monitor \f(CW\*(C`change\*(C'\fR command
can be used to later start the \s-1VNC\s0 server.
.RS 4
Following the \fIdisplay\fR value there may be one or more \fIoption\fR flags
separated by commas. Valid options are
.ie n .IP """reverse""" 4
.el .IP "\f(CWreverse\fR" 4
.IX Item "reverse"
Connect to a listening \s-1VNC\s0 client via a \*(L"reverse\*(R" connection. The
client is specified by the \fIdisplay\fR. For reverse network
connections (\fIhost\fR:\fId\fR,\f(CW\*(C`reverse\*(C'\fR), the \fId\fR argument
is a \s-1TCP\s0 port number, not a display number.
.ie n .IP """password""" 4
.el .IP "\f(CWpassword\fR" 4
.IX Item "password"
Require that password based authentication is used for client connections.
The password must be set separately using the \f(CW\*(C`change\*(C'\fR command in the
.ie n .IP """tls""" 4
.el .IP "\f(CWtls\fR" 4
.IX Item "tls"
Require that client use \s-1TLS\s0 when communicating with the \s-1VNC\s0 server. This
uses anonymous \s-1TLS\s0 credentials so is susceptible to a man-in-the-middle
attack. It is recommended that this option be combined with either the
\&\fIx509\fR or \fIx509verify\fR options.
.ie n .IP """x509=\f(CI/path/to/certificate/dir\f(CW""" 4
.el .IP "\f(CWx509=\f(CI/path/to/certificate/dir\f(CW\fR" 4
.IX Item "x509=/path/to/certificate/dir"
Valid if \fBtls\fR is specified. Require that x509 credentials are used
for negotiating the \s-1TLS\s0 session. The server will send its x509 certificate
to the client. It is recommended that a password be set on the \s-1VNC\s0 server
to provide authentication of the client when this is used. The path following
this option specifies where the x509 certificates are to be loaded from.
See the \fBvnc_security\fR section for details on generating certificates.
.ie n .IP """x509verify=\f(CI/path/to/certificate/dir\f(CW""" 4
.el .IP "\f(CWx509verify=\f(CI/path/to/certificate/dir\f(CW\fR" 4
.IX Item "x509verify=/path/to/certificate/dir"
Valid if \fBtls\fR is specified. Require that x509 credentials are used
for negotiating the \s-1TLS\s0 session. The server will send its x509 certificate
to the client, and request that the client send its own x509 certificate.
The server will validate the client's certificate against the \s-1CA\s0 certificate,
and reject clients when validation fails. If the certificate authority is
trusted, this is a sufficient authentication mechanism. You may still wish
to set a password on the \s-1VNC\s0 server as a second authentication layer. The
path following this option specifies where the x509 certificates are to
be loaded from. See the \fBvnc_security\fR section for details on generating
.ie n .IP """sasl""" 4
.el .IP "\f(CWsasl\fR" 4
.IX Item "sasl"
Require that the client use \s-1SASL\s0 to authenticate with the \s-1VNC\s0 server.
The exact choice of authentication method used is controlled from the
system / user's \s-1SASL\s0 configuration file for the 'qemu' service. This
is typically found in /etc/sasl2/qemu.conf. If running \s-1QEMU\s0 as an
unprivileged user, an environment variable \s-1SASL_CONF_PATH\s0 can be used
to make it search alternate locations for the service config.
While some \s-1SASL\s0 auth methods can also provide data encryption (eg \s-1GSSAPI\s0),
it is recommended that \s-1SASL\s0 always be combined with the 'tls' and
\&'x509' settings to enable use of \s-1SSL\s0 and server certificates. This
ensures a data encryption preventing compromise of authentication
credentials. See the \fBvnc_security\fR section for details on using
\&\s-1SASL\s0 authentication.
.ie n .IP """acl""" 4
.el .IP "\f(CWacl\fR" 4
.IX Item "acl"
Turn on access control lists for checking of the x509 client certificate
and \s-1SASL\s0 party. For x509 certs, the \s-1ACL\s0 check is made against the
certificate's distinguished name. This is something that looks like
\&\f(CW\*(C`C=GB,O=ACME,L=Boston,CN=bob\*(C'\fR. For \s-1SASL\s0 party, the \s-1ACL\s0 check is
made against the username, which depending on the \s-1SASL\s0 plugin, may
include a realm component, eg \f(CW\*(C`bob\*(C'\fR or \f(CW\*(C`bob@EXAMPLE.COM\*(C'\fR.
When the \fBacl\fR flag is set, the initial access list will be
empty, with a \f(CW\*(C`deny\*(C'\fR policy. Thus no one will be allowed to
use the \s-1VNC\s0 server until the ACLs have been loaded. This can be
achieved using the \f(CW\*(C`acl\*(C'\fR monitor command.
.RS 4
i386 target only:
.IP "\fB\-win2k\-hack\fR" 4
.IX Item "-win2k-hack"
Use it when installing Windows 2000 to avoid a disk full bug. After
Windows 2000 is installed, you no longer need this option (this option
slows down the \s-1IDE\s0 transfers).
.IP "\fB\-rtc\-td\-hack\fR" 4
.IX Item "-rtc-td-hack"
Use it if you experience time drift problem in Windows with \s-1ACPI\s0 \s-1HAL\s0.
This option will try to figure out how many timer interrupts were not
processed by the Windows guest and will re-inject them.
.IP "\fB\-no\-fd\-bootchk\fR" 4
.IX Item "-no-fd-bootchk"
Disable boot signature checking for floppy disks in Bochs \s-1BIOS\s0. It may
be needed to boot from old floppy disks.
.IP "\fB\-no\-acpi\fR" 4
.IX Item "-no-acpi"
Disable \s-1ACPI\s0 (Advanced Configuration and Power Interface) support. Use
it if your guest \s-1OS\s0 complains about \s-1ACPI\s0 problems (\s-1PC\s0 target machine
.IP "\fB\-no\-hpet\fR" 4
.IX Item "-no-hpet"
Disable \s-1HPET\s0 support.
.IP "\fB\-acpitable [sig=\fR\fIstr\fR\fB][,rev=\fR\fIn\fR\fB][,oem_id=\fR\fIstr\fR\fB][,oem_table_id=\fR\fIstr\fR\fB][,oem_rev=\fR\fIn\fR\fB] [,asl_compiler_id=\fR\fIstr\fR\fB][,asl_compiler_rev=\fR\fIn\fR\fB][,data=\fR\fIfile1\fR\fB[:\fR\fIfile2\fR\fB]...]\fR" 4
.IX Item "-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n] [,asl_compiler_id=str][,asl_compiler_rev=n][,data=file1[:file2]...]"
Add \s-1ACPI\s0 table with specified header fields and context from specified files.
.IP "\fB\-smbios file=\fR\fIbinary\fR" 4
.IX Item "-smbios file=binary"
Load \s-1SMBIOS\s0 entry from binary file.
.ie n .IP "\fB\-smbios type=0[,vendor=\fR\fIstr\fR\fB][,version=\fR\fIstr\fR\fB][,date=\fR\fIstr\fR\fB][,release=\fR\fI\fI%d\fI.%d\fR\fB]\fR" 4
.el .IP "\fB\-smbios type=0[,vendor=\fR\fIstr\fR\fB][,version=\fR\fIstr\fR\fB][,date=\fR\fIstr\fR\fB][,release=\fR\fI\f(CI%d\fI.%d\fR\fB]\fR" 4
.IX Item "-smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]"
Specify \s-1SMBIOS\s0 type 0 fields
.IP "\fB\-smbios type=1[,manufacturer=\fR\fIstr\fR\fB][,product=\fR\fIstr\fR\fB][,version=\fR\fIstr\fR\fB][,serial=\fR\fIstr\fR\fB][,uuid=\fR\fIuuid\fR\fB][,sku=\fR\fIstr\fR\fB][,family=\fR\fIstr\fR\fB]\fR" 4
.IX Item "-smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str][,uuid=uuid][,sku=str][,family=str]"
Specify \s-1SMBIOS\s0 type 1 fields
Network options:
.IP "\fB\-net nic[,vlan=\fR\fIn\fR\fB][,macaddr=\fR\fIaddr\fR\fB][,model=\fR\fItype\fR\fB][,name=\fR\fIname\fR\fB]\fR" 4
.IX Item "-net nic[,vlan=n][,macaddr=addr][,model=type][,name=name]"
Create a new Network Interface Card and connect it to \s-1VLAN\s0 \fIn\fR (\fIn\fR
= 0 is the default). The \s-1NIC\s0 is an ne2k_pci by default on the \s-1PC\s0
target. Optionally, the \s-1MAC\s0 address can be changed to \fIaddr\fR
and a \fIname\fR can be assigned for use in monitor commands. If no
\&\fB\-net\fR option is specified, a single \s-1NIC\s0 is created.
Qemu can emulate several different models of network card.
Valid values for \fItype\fR are
\&\f(CW\*(C`i82551\*(C'\fR, \f(CW\*(C`i82557b\*(C'\fR, \f(CW\*(C`i82559er\*(C'\fR,
\&\f(CW\*(C`ne2k_pci\*(C'\fR, \f(CW\*(C`ne2k_isa\*(C'\fR, \f(CW\*(C`pcnet\*(C'\fR, \f(CW\*(C`rtl8139\*(C'\fR,
\&\f(CW\*(C`e1000\*(C'\fR, \f(CW\*(C`smc91c111\*(C'\fR, \f(CW\*(C`lance\*(C'\fR and \f(CW\*(C`mcf_fec\*(C'\fR.
Not all devices are supported on all targets. Use \-net nic,model=?
for a list of available devices for your target.
.IP "\fB\-net user[,vlan=\fR\fIn\fR\fB][,hostname=\fR\fIname\fR\fB][,name=\fR\fIname\fR\fB]\fR" 4
.IX Item "-net user[,vlan=n][,hostname=name][,name=name]"
Use the user mode network stack which requires no administrator
privilege to run. \fBhostname=name\fR can be used to specify the client
hostname reported by the builtin \s-1DHCP\s0 server.
.IP "\fB\-net channel,\fR\fIport\fR\fB:\fR\fIdev\fR" 4
.IX Item "-net channel,port:dev"
Forward \fBuser\fR \s-1TCP\s0 connection to port \fIport\fR to character device \fIdev\fR
.IP "\fB\-net tap[,vlan=\fR\fIn\fR\fB][,name=\fR\fIname\fR\fB][,fd=\fR\fIh\fR\fB][,ifname=\fR\fIname\fR\fB][,script=\fR\fIfile\fR\fB][,downscript=\fR\fIdfile\fR\fB]\fR" 4
.IX Item "-net tap[,vlan=n][,name=name][,fd=h][,ifname=name][,script=file][,downscript=dfile]"
Connect the host \s-1TAP\s0 network interface \fIname\fR to \s-1VLAN\s0 \fIn\fR, use
the network script \fIfile\fR to configure it and the network script
\&\fIdfile\fR to deconfigure it. If \fIname\fR is not provided, the \s-1OS\s0
automatically provides one. \fBfd\fR=\fIh\fR can be used to specify
the handle of an already opened host \s-1TAP\s0 interface. The default network
configure script is \fI/etc/qemu\-ifup\fR and the default network
deconfigure script is \fI/etc/qemu\-ifdown\fR. Use \fBscript=no\fR
or \fBdownscript=no\fR to disable script execution. Example:
.Vb 1
\&        qemu linux.img \-net nic \-net tap
More complicated example (two NICs, each one connected to a \s-1TAP\s0 device)
.Vb 2
\&        qemu linux.img \-net nic,vlan=0 \-net tap,vlan=0,ifname=tap0 \e
\&        \-net nic,vlan=1 \-net tap,vlan=1,ifname=tap1
.IP "\fB\-net socket[,vlan=\fR\fIn\fR\fB][,name=\fR\fIname\fR\fB][,fd=\fR\fIh\fR\fB][,listen=[\fR\fIhost\fR\fB]:\fR\fIport\fR\fB][,connect=\fR\fIhost\fR\fB:\fR\fIport\fR\fB]\fR" 4
.IX Item "-net socket[,vlan=n][,name=name][,fd=h][,listen=[host]:port][,connect=host:port]"
Connect the \s-1VLAN\s0 \fIn\fR to a remote \s-1VLAN\s0 in another \s-1QEMU\s0 virtual
machine using a \s-1TCP\s0 socket connection. If \fBlisten\fR is
specified, \s-1QEMU\s0 waits for incoming connections on \fIport\fR
(\fIhost\fR is optional). \fBconnect\fR is used to connect to
another \s-1QEMU\s0 instance using the \fBlisten\fR option. \fBfd\fR=\fIh\fR
specifies an already opened \s-1TCP\s0 socket.
.Vb 7
\&        # launch a first QEMU instance
\&        qemu linux.img \-net nic,macaddr=52:54:00:12:34:56 \e
\&        \-net socket,listen=:1234
\&        # connect the VLAN 0 of this instance to the VLAN 0
\&        # of the first instance
\&        qemu linux.img \-net nic,macaddr=52:54:00:12:34:57 \e
\&        \-net socket,connect=
.IP "\fB\-net socket[,vlan=\fR\fIn\fR\fB][,name=\fR\fIname\fR\fB][,fd=\fR\fIh\fR\fB][,mcast=\fR\fImaddr\fR\fB:\fR\fIport\fR\fB]\fR" 4
.IX Item "-net socket[,vlan=n][,name=name][,fd=h][,mcast=maddr:port]"
Create a \s-1VLAN\s0 \fIn\fR shared with another \s-1QEMU\s0 virtual
machines using a \s-1UDP\s0 multicast socket, effectively making a bus for
every \s-1QEMU\s0 with same multicast address \fImaddr\fR and \fIport\fR.
.RS 4
.IP "1." 4
Several \s-1QEMU\s0 can be running on different hosts and share same bus (assuming
correct multicast setup for these hosts).
.IP "2." 4
mcast support is compatible with User Mode Linux (argument \fBeth\fR\fIN\fR\fB=mcast\fR), see
.IP "3." 4
Use \fBfd=h\fR to specify an already opened \s-1UDP\s0 multicast socket.
.RS 4
.Vb 9
\&        # launch one QEMU instance
\&        qemu linux.img \-net nic,macaddr=52:54:00:12:34:56 \e
\&        \-net socket,mcast=
\&        # launch another QEMU instance on same "bus"
\&        qemu linux.img \-net nic,macaddr=52:54:00:12:34:57 \e
\&        \-net socket,mcast=
\&        # launch yet another QEMU instance on same "bus"
\&        qemu linux.img \-net nic,macaddr=52:54:00:12:34:58 \e
\&        \-net socket,mcast=
Example (User Mode Linux compat.):
.Vb 6
\&        # launch QEMU instance (note mcast address selected
\&        # is UML\*(Aqs default)
\&        qemu linux.img \-net nic,macaddr=52:54:00:12:34:56 \e
\&        \-net socket,mcast=
\&        # launch UML
\&        /path/to/linux ubd0=/path/to/root_fs eth0=mcast
.IP "\fB\-net vde[,vlan=\fR\fIn\fR\fB][,name=\fR\fIname\fR\fB][,sock=\fR\fIsocketpath\fR\fB][,port=\fR\fIn\fR\fB][,group=\fR\fIgroupname\fR\fB][,mode=\fR\fIoctalmode\fR\fB]\fR" 4
.IX Item "-net vde[,vlan=n][,name=name][,sock=socketpath][,port=n][,group=groupname][,mode=octalmode]"
Connect \s-1VLAN\s0 \fIn\fR to \s-1PORT\s0 \fIn\fR of a vde switch running on host and
listening for incoming connections on \fIsocketpath\fR. Use \s-1GROUP\s0 \fIgroupname\fR
and \s-1MODE\s0 \fIoctalmode\fR to change default ownership and permissions for
communication port. This option is available only if \s-1QEMU\s0 has been compiled
with vde support enabled.
.Vb 4
\&        # launch vde switch
\&        vde_switch \-F \-sock /tmp/myswitch
\&        # launch QEMU instance
\&        qemu linux.img \-net nic \-net vde,sock=/tmp/myswitch
.IP "\fB\-net dump[,vlan=\fR\fIn\fR\fB][,file=\fR\fIfile\fR\fB][,len=\fR\fIlen\fR\fB]\fR" 4
.IX Item "-net dump[,vlan=n][,file=file][,len=len]"
Dump network traffic on \s-1VLAN\s0 \fIn\fR to file \fIfile\fR (\fIqemu\-vlan0.pcap\fR by default).
At most \fIlen\fR bytes (64k by default) per packet are stored. The file format is
libpcap, so it can be analyzed with tools such as tcpdump or Wireshark.
.IP "\fB\-net none\fR" 4
.IX Item "-net none"
Indicate that no network devices should be configured. It is used to
override the default configuration (\fB\-net nic \-net user\fR) which
is activated if no \fB\-net\fR options are provided.
.IP "\fB\-tftp\fR \fIdir\fR" 4
.IX Item "-tftp dir"
When using the user mode network stack, activate a built-in \s-1TFTP\s0
server. The files in \fIdir\fR will be exposed as the root of a \s-1TFTP\s0 server.
The \s-1TFTP\s0 client on the guest must be configured in binary mode (use the command
\&\f(CW\*(C`bin\*(C'\fR of the Unix \s-1TFTP\s0 client). The host \s-1IP\s0 address on the guest is as
.IP "\fB\-bootp\fR \fIfile\fR" 4
.IX Item "-bootp file"
When using the user mode network stack, broadcast \fIfile\fR as the \s-1BOOTP\s0
filename. In conjunction with \fB\-tftp\fR, this can be used to network boot
a guest from a local directory.
Example (using pxelinux):
.Vb 1
\&        qemu \-hda linux.img \-boot n \-tftp /path/to/tftp/files \-bootp /pxelinux.0
.IP "\fB\-smb\fR \fIdir\fR" 4
.IX Item "-smb dir"
When using the user mode network stack, activate a built-in \s-1SMB\s0
server so that Windows OSes can access to the host files in \fI\fIdir\fI\fR
In the guest Windows \s-1OS\s0, the line:
.Vb 1
\& smbserver
must be added in the file \fIC:\eWINDOWS\eLMHOSTS\fR (for windows 9x/Me)
or \fIC:\eWINNT\eSYSTEM32\eDRIVERS\eETC\eLMHOSTS\fR (Windows \s-1NT/2000\s0).
Then \fI\fIdir\fI\fR can be accessed in \fI\e\esmbserver\eqemu\fR.
Note that a \s-1SAMBA\s0 server must be installed on the host \s-1OS\s0 in
\&\fI/usr/sbin/smbd\fR. \s-1QEMU\s0 was tested successfully with smbd version
2.2.7a from the Red Hat 9 and version 3.0.10\-1.fc3 from Fedora Core 3.
.IP "\fB\-redir [tcp|udp]:\fR\fIhost-port\fR\fB:[\fR\fIguest-host\fR\fB]:\fR\fIguest-port\fR" 4
.IX Item "-redir [tcp|udp]:host-port:[guest-host]:guest-port"
When using the user mode network stack, redirect incoming \s-1TCP\s0 or \s-1UDP\s0
connections to the host port \fIhost-port\fR to the guest
\&\fIguest-host\fR on guest port \fIguest-port\fR. If \fIguest-host\fR
is not specified, its value is (default address given by the
built-in \s-1DHCP\s0 server). If no connection type is specified, \s-1TCP\s0 is used.
For example, to redirect host X11 connection from screen 1 to guest
screen 0, use the following:
.Vb 4
\&        # on the host
\&        qemu \-redir tcp:6001::6000 [...]
\&        # this host xterm should open in the guest X11 server
\&        xterm \-display :1
To redirect telnet connections from host port 5555 to telnet port on
the guest, use the following:
.Vb 3
\&        # on the host
\&        qemu \-redir tcp:5555::23 [...]
\&        telnet localhost 5555
Then when you use on the host \f(CW\*(C`telnet localhost 5555\*(C'\fR, you
connect to the guest telnet server.
Bluetooth(R) options:
.IP "\fB\-bt hci[...]\fR" 4
.IX Item "-bt hci[...]"
Defines the function of the corresponding Bluetooth \s-1HCI\s0. \-bt options
are matched with the HCIs present in the chosen machine type. For
example when emulating a machine with only one \s-1HCI\s0 built into it, only
the first \f(CW\*(C`\-bt hci[...]\*(C'\fR option is valid and defines the \s-1HCI\s0's
logic. The Transport Layer is decided by the machine type. Currently
the machines \f(CW\*(C`n800\*(C'\fR and \f(CW\*(C`n810\*(C'\fR have one \s-1HCI\s0 and all other
machines have none.
The following three types are recognized:
.RS 4
.ie n .IP """\-bt hci,null""" 4
.el .IP "\f(CW\-bt hci,null\fR" 4
.IX Item "-bt hci,null"
(default) The corresponding Bluetooth \s-1HCI\s0 assumes no internal logic
and will not respond to any \s-1HCI\s0 commands or emit events.
.ie n .IP """\-bt hci,host[:\f(CIid\f(CW]""" 4
.el .IP "\f(CW\-bt hci,host[:\f(CIid\f(CW]\fR" 4
.IX Item "-bt hci,host[:id]"
(\f(CW\*(C`bluez\*(C'\fR only) The corresponding \s-1HCI\s0 passes commands / events
to / from the physical \s-1HCI\s0 identified by the name \fIid\fR (default:
\&\f(CW\*(C`hci0\*(C'\fR) on the computer running \s-1QEMU\s0. Only available on \f(CW\*(C`bluez\*(C'\fR
capable systems like Linux.
.ie n .IP """\-bt hci[,vlan=\f(CIn\f(CW]""" 4
.el .IP "\f(CW\-bt hci[,vlan=\f(CIn\f(CW]\fR" 4
.IX Item "-bt hci[,vlan=n]"
Add a virtual, standard \s-1HCI\s0 that will participate in the Bluetooth
scatternet \fIn\fR (default \f(CW0\fR). Similarly to \fB\-net\fR
VLANs, devices inside a bluetooth network \fIn\fR can only communicate
with other devices in the same network (scatternet).
.RS 4
.IP "\fB\-bt vhci[,vlan=\fR\fIn\fR\fB]\fR" 4
.IX Item "-bt vhci[,vlan=n]"
(Linux-host only) Create a \s-1HCI\s0 in scatternet \fIn\fR (default 0) attached
to the host bluetooth stack instead of to the emulated target. This
allows the host and target machines to participate in a common scatternet
and communicate. Requires the Linux \f(CW\*(C`vhci\*(C'\fR driver installed. Can
be used as following:
.Vb 1
\&        qemu [...OPTIONS...] \-bt hci,vlan=5 \-bt vhci,vlan=5
.IP "\fB\-bt device:\fR\fIdev\fR\fB[,vlan=\fR\fIn\fR\fB]\fR" 4
.IX Item "-bt device:dev[,vlan=n]"
Emulate a bluetooth device \fIdev\fR and place it in network \fIn\fR
(default \f(CW0\fR). \s-1QEMU\s0 can only emulate one type of bluetooth devices
.RS 4
.ie n .IP """keyboard""" 4
.el .IP "\f(CWkeyboard\fR" 4
.IX Item "keyboard"
Virtual wireless keyboard implementing the \s-1HIDP\s0 bluetooth profile.
.RS 4
Linux boot specific:
When using these options, you can use a given
Linux kernel without installing it in the disk image. It can be useful
for easier testing of various kernels.
.IP "\fB\-kernel\fR \fIbzImage\fR" 4
.IX Item "-kernel bzImage"
Use \fIbzImage\fR as kernel image.
.IP "\fB\-append\fR \fIcmdline\fR" 4
.IX Item "-append cmdline"
Use \fIcmdline\fR as kernel command line
.IP "\fB\-initrd\fR \fIfile\fR" 4
.IX Item "-initrd file"
Use \fIfile\fR as initial ram disk.
Debug/Expert options:
.IP "\fB\-serial\fR \fIdev\fR" 4
.IX Item "-serial dev"
Redirect the virtual serial port to host character device
\&\fIdev\fR. The default device is \f(CW\*(C`vc\*(C'\fR in graphical mode and
\&\f(CW\*(C`stdio\*(C'\fR in non graphical mode.
This option can be used several times to simulate up to 4 serial
Use \f(CW\*(C`\-serial none\*(C'\fR to disable all serial ports.
Available character devices are:
.RS 4
.ie n .IP """vc[:WxH]""" 4
.el .IP "\f(CWvc[:WxH]\fR" 4
.IX Item "vc[:WxH]"
Virtual console. Optionally, a width and height can be given in pixel with
.Vb 1
\&        vc:800x600
It is also possible to specify width or height in characters:
.Vb 1
\&        vc:80Cx24C
.ie n .IP """pty""" 4
.el .IP "\f(CWpty\fR" 4
.IX Item "pty"
[Linux only] Pseudo \s-1TTY\s0 (a new \s-1PTY\s0 is automatically allocated)
.ie n .IP """none""" 4
.el .IP "\f(CWnone\fR" 4
.IX Item "none"
No device is allocated.
.ie n .IP """null""" 4
.el .IP "\f(CWnull\fR" 4
.IX Item "null"
void device
.ie n .IP """/dev/XXX""" 4
.el .IP "\f(CW/dev/XXX\fR" 4
.IX Item "/dev/XXX"
[Linux only] Use host tty, e.g. \fI/dev/ttyS0\fR. The host serial port
parameters are set according to the emulated ones.
.ie n .IP """/dev/parport\f(CIN\f(CW""" 4
.el .IP "\f(CW/dev/parport\f(CIN\f(CW\fR" 4
.IX Item "/dev/parportN"
[Linux only, parallel port only] Use host parallel port
\&\fIN\fR. Currently \s-1SPP\s0 and \s-1EPP\s0 parallel port features can be used.
.ie n .IP """file:\f(CIfilename\f(CW""" 4
.el .IP "\f(CWfile:\f(CIfilename\f(CW\fR" 4
.IX Item "file:filename"
Write output to \fIfilename\fR. No character can be read.
.ie n .IP """stdio""" 4
.el .IP "\f(CWstdio\fR" 4
.IX Item "stdio"
[Unix only] standard input/output
.ie n .IP """pipe:\f(CIfilename\f(CW""" 4
.el .IP "\f(CWpipe:\f(CIfilename\f(CW\fR" 4
.IX Item "pipe:filename"
name pipe \fIfilename\fR
.ie n .IP """COM\f(CIn\f(CW""" 4
.el .IP "\f(CWCOM\f(CIn\f(CW\fR" 4
.IX Item "COMn"
[Windows only] Use host serial port \fIn\fR
.ie n .IP """udp:[\f(CIremote_host\f(CW]:\f(CIremote_port\f(CW[@[\f(CIsrc_ip\f(CW]:\f(CIsrc_port\f(CW]""" 4
.el .IP "\f(CWudp:[\f(CIremote_host\f(CW]:\f(CIremote_port\f(CW[@[\f(CIsrc_ip\f(CW]:\f(CIsrc_port\f(CW]\fR" 4
.IX Item "udp:[remote_host]:remote_port[@[src_ip]:src_port]"
This implements \s-1UDP\s0 Net Console.
When \fIremote_host\fR or \fIsrc_ip\fR are not specified
they default to \f(CW0.0.0.0\fR.
When not using a specified \fIsrc_port\fR a random port is automatically chosen.
.ie n .IP """msmouse""" 4
.el .IP "\f(CWmsmouse\fR" 4
.IX Item "msmouse"
Three button serial mouse. Configure the guest to use Microsoft protocol.
If you just want a simple readonly console you can use \f(CW\*(C`netcat\*(C'\fR or
\&\f(CW\*(C`nc\*(C'\fR, by starting qemu with: \f(CW\*(C`\-serial udp::4555\*(C'\fR and nc as:
\&\f(CW\*(C`nc \-u \-l \-p 4555\*(C'\fR. Any time qemu writes something to that port it
will appear in the netconsole session.
If you plan to send characters back via netconsole or you want to stop
and start qemu a lot of times, you should have qemu use the same
source port each time by using something like \f(CW\*(C`\-serial
udp::4555@4556\*(C'\fR to qemu. Another approach is to use a patched
version of netcat which can listen to a \s-1TCP\s0 port and send and receive
characters via udp. If you have a patched version of netcat which
activates telnet remote echo and single char transfer, then you can
use the following options to step up a netcat redirector to allow
telnet on port 5555 to access the qemu port.
.RS 4
.ie n .IP """Qemu Options:""" 4
.el .IP "\f(CWQemu Options:\fR" 4
.IX Item "Qemu Options:"
\&\-serial udp::4555@4556
.ie n .IP """netcat options:""" 4
.el .IP "\f(CWnetcat options:\fR" 4
.IX Item "netcat options:"
\&\-u \-P 4555 \-L \-t \-p 5555 \-I \-T
.ie n .IP """telnet options:""" 4
.el .IP "\f(CWtelnet options:\fR" 4
.IX Item "telnet options:"
localhost 5555
.RS 4
.ie n .IP """tcp:[\f(CIhost\f(CW]:\f(CIport\f(CW[,\f(CIserver\f(CW][,nowait][,nodelay]""" 4
.el .IP "\f(CWtcp:[\f(CIhost\f(CW]:\f(CIport\f(CW[,\f(CIserver\f(CW][,nowait][,nodelay]\fR" 4
.IX Item "tcp:[host]:port[,server][,nowait][,nodelay]"
The \s-1TCP\s0 Net Console has two modes of operation. It can send the serial
I/O to a location or wait for a connection from a location. By default
the \s-1TCP\s0 Net Console is sent to \fIhost\fR at the \fIport\fR. If you use
the \fIserver\fR option \s-1QEMU\s0 will wait for a client socket application
to connect to the port before continuing, unless the \f(CW\*(C`nowait\*(C'\fR
option was specified. The \f(CW\*(C`nodelay\*(C'\fR option disables the Nagle buffering
algorithm. If \fIhost\fR is omitted, is assumed. Only
one \s-1TCP\s0 connection at a time is accepted. You can use \f(CW\*(C`telnet\*(C'\fR to
connect to the corresponding character device.
.RS 4
.ie n .IP """Example to send tcp console to port 4444""" 4
.el .IP "\f(CWExample to send tcp console to port 4444\fR" 4
.IX Item "Example to send tcp console to port 4444"
\&\-serial tcp:
.ie n .IP """Example to listen and wait on port 4444 for connection""" 4
.el .IP "\f(CWExample to listen and wait on port 4444 for connection\fR" 4
.IX Item "Example to listen and wait on port 4444 for connection"
\&\-serial tcp::4444,server
.ie n .IP """Example to not wait and listen on ip port 4444""" 4
.el .IP "\f(CWExample to not wait and listen on ip port 4444\fR" 4
.IX Item "Example to not wait and listen on ip port 4444"
\&\-serial tcp:,server,nowait
.RS 4
.ie n .IP """telnet:\f(CIhost\f(CW:\f(CIport\f(CW[,server][,nowait][,nodelay]""" 4
.el .IP "\f(CWtelnet:\f(CIhost\f(CW:\f(CIport\f(CW[,server][,nowait][,nodelay]\fR" 4
.IX Item "telnet:host:port[,server][,nowait][,nodelay]"
The telnet protocol is used instead of raw tcp sockets. The options
work the same as if you had specified \f(CW\*(C`\-serial tcp\*(C'\fR. The
difference is that the port acts like a telnet server or client using
telnet option negotiation. This will also allow you to send the
\&\s-1MAGIC_SYSRQ\s0 sequence if you use a telnet that supports sending the break
sequence. Typically in unix telnet you do it with Control\-] and then
type \*(L"send break\*(R" followed by pressing the enter key.
.ie n .IP """unix:\f(CIpath\f(CW[,server][,nowait]""" 4
.el .IP "\f(CWunix:\f(CIpath\f(CW[,server][,nowait]\fR" 4
.IX Item "unix:path[,server][,nowait]"
A unix domain socket is used instead of a tcp socket. The option works the
same as if you had specified \f(CW\*(C`\-serial tcp\*(C'\fR except the unix domain socket
\&\fIpath\fR is used for connections.
.ie n .IP """mon:\f(CIdev_string\f(CW""" 4
.el .IP "\f(CWmon:\f(CIdev_string\f(CW\fR" 4
.IX Item "mon:dev_string"
This is a special option to allow the monitor to be multiplexed onto
another serial port. The monitor is accessed with key sequence of
\&\fBControl-a\fR and then pressing \fBc\fR. See monitor access
\&\fBpcsys_keys\fR in the \-nographic section for more keys.
\&\fIdev_string\fR should be any one of the serial devices specified
above. An example to multiplex the monitor onto a telnet server
listening on port 4444 would be:
.RS 4
.ie n .IP """\-serial mon:telnet::4444,server,nowait""" 4
.el .IP "\f(CW\-serial mon:telnet::4444,server,nowait\fR" 4
.IX Item "-serial mon:telnet::4444,server,nowait"
.RS 4
.PD 0
.ie n .IP """braille""" 4
.el .IP "\f(CWbraille\fR" 4
.IX Item "braille"
Braille device. This will use BrlAPI to display the braille output on a real
or fake device.
.RS 4
.IP "\fB\-parallel\fR \fIdev\fR" 4
.IX Item "-parallel dev"
Redirect the virtual parallel port to host device \fIdev\fR (same
devices as the serial port). On Linux hosts, \fI/dev/parportN\fR can
be used to use hardware devices connected on the corresponding host
parallel port.
This option can be used several times to simulate up to 3 parallel
Use \f(CW\*(C`\-parallel none\*(C'\fR to disable all parallel ports.
.IP "\fB\-monitor\fR \fIdev\fR" 4
.IX Item "-monitor dev"
Redirect the monitor to host device \fIdev\fR (same devices as the
serial port).
The default device is \f(CW\*(C`vc\*(C'\fR in graphical mode and \f(CW\*(C`stdio\*(C'\fR in
non graphical mode.
.IP "\fB\-pidfile\fR \fIfile\fR" 4
.IX Item "-pidfile file"
Store the \s-1QEMU\s0 process \s-1PID\s0 in \fIfile\fR. It is useful if you launch \s-1QEMU\s0
from a script.
.IP "\fB\-singlestep\fR" 4
.IX Item "-singlestep"
Run the emulation in single step mode.
.IP "\fB\-S\fR" 4
.IX Item "-S"
Do not start \s-1CPU\s0 at startup (you must type 'c' in the monitor).
.IP "\fB\-gdb\fR \fIdev\fR" 4
.IX Item "-gdb dev"
Wait for gdb connection on device \fIdev\fR. Typical
connections will likely be TCP-based, but also \s-1UDP\s0, pseudo \s-1TTY\s0, or even
stdio are reasonable use case. The latter is allowing to start qemu from
within gdb and establish the connection via a pipe:
.Vb 1
\&        (gdb) target remote | exec qemu \-gdb stdio ...
.IP "\fB\-s\fR" 4
.IX Item "-s"
Shorthand for \-gdb tcp::1234, i.e. open a gdbserver on \s-1TCP\s0 port 1234.
.IP "\fB\-d\fR" 4
.IX Item "-d"
Output log in /tmp/qemu.log
.IP "\fB\-hdachs\fR \fIc\fR\fB,\fR\fIh\fR\fB,\fR\fIs\fR\fB,[,\fR\fIt\fR\fB]\fR" 4
.IX Item "-hdachs c,h,s,[,t]"
Force hard disk 0 physical geometry (1 <= \fIc\fR <= 16383, 1 <=
\&\fIh\fR <= 16, 1 <= \fIs\fR <= 63) and optionally force the \s-1BIOS\s0
translation mode (\fIt\fR=none, lba or auto). Usually \s-1QEMU\s0 can guess
all those parameters. This option is useful for old MS-DOS disk
.IP "\fB\-L\fR \fIpath\fR" 4
.IX Item "-L path"
Set the directory for the \s-1BIOS\s0, \s-1VGA\s0 \s-1BIOS\s0 and keymaps.
.IP "\fB\-bios\fR \fIfile\fR" 4
.IX Item "-bios file"
Set the filename for the \s-1BIOS\s0.
.IP "\fB\-kernel\-kqemu\fR" 4
.IX Item "-kernel-kqemu"
Enable \s-1KQEMU\s0 full virtualization (default is user mode only).
.IP "\fB\-no\-kqemu\fR" 4
.IX Item "-no-kqemu"
Disable \s-1KQEMU\s0 kernel module usage. \s-1KQEMU\s0 options are only available if
\&\s-1KQEMU\s0 support is enabled when compiling.
.IP "\fB\-enable\-kvm\fR" 4
.IX Item "-enable-kvm"
Enable \s-1KVM\s0 full virtualization support. This option is only available
if \s-1KVM\s0 support is enabled when compiling.
.IP "\fB\-no\-reboot\fR" 4
.IX Item "-no-reboot"
Exit instead of rebooting.
.IP "\fB\-no\-shutdown\fR" 4
.IX Item "-no-shutdown"
Don't exit \s-1QEMU\s0 on guest shutdown, but instead only stop the emulation.
This allows for instance switching to monitor to commit changes to the
disk image.
.IP "\fB\-loadvm\fR \fIfile\fR" 4
.IX Item "-loadvm file"
Start right away with a saved state (\f(CW\*(C`loadvm\*(C'\fR in monitor)
.IP "\fB\-daemonize\fR" 4
.IX Item "-daemonize"
Daemonize the \s-1QEMU\s0 process after initialization. \s-1QEMU\s0 will not detach from
standard \s-1IO\s0 until it is ready to receive connections on any of its devices.
This option is a useful way for external programs to launch \s-1QEMU\s0 without having
to cope with initialization race conditions.
.IP "\fB\-option\-rom\fR \fIfile\fR" 4
.IX Item "-option-rom file"
Load the contents of \fIfile\fR as an option \s-1ROM\s0.
This option is useful to load things like EtherBoot.
.IP "\fB\-clock\fR \fImethod\fR" 4
.IX Item "-clock method"
Force the use of the given methods for timer alarm. To see what timers
are available use \-clock ?.
.IP "\fB\-localtime\fR" 4
.IX Item "-localtime"
Set the real time clock to local time (the default is to \s-1UTC\s0
time). This option is needed to have correct date in MS-DOS or
.IP "\fB\-startdate\fR \fIdate\fR" 4
.IX Item "-startdate date"
Set the initial date of the real time clock. Valid formats for
\&\fIdate\fR are: \f(CW\*(C`now\*(C'\fR or \f(CW\*(C`2006\-06\-17T16:01:21\*(C'\fR or
\&\f(CW\*(C`2006\-06\-17\*(C'\fR. The default value is \f(CW\*(C`now\*(C'\fR.
.IP "\fB\-icount [N|auto]\fR" 4
.IX Item "-icount [N|auto]"
Enable virtual instruction counter. The virtual cpu will execute one
instruction every 2^N ns of virtual time. If \f(CW\*(C`auto\*(C'\fR is specified
then the virtual cpu speed will be automatically adjusted to keep virtual
time within a few seconds of real time.
Note that while this option can give deterministic behavior, it does not
provide cycle accurate emulation. Modern CPUs contain superscalar out of
order cores with complex cache hierarchies. The number of instructions
executed often has little or no correlation with actual performance.
.IP "\fB\-echr numeric_ascii_value\fR" 4
.IX Item "-echr numeric_ascii_value"
Change the escape character used for switching to the monitor when using
monitor and serial sharing. The default is \f(CW0x01\fR when using the
\&\f(CW\*(C`\-nographic\*(C'\fR option. \f(CW0x01\fR is equal to pressing
\&\f(CW\*(C`Control\-a\*(C'\fR. You can select a different character from the ascii
control keys where 1 through 26 map to Control-a through Control-z. For
instance you could use the either of the following to change the escape
character to Control-t.
.RS 4
.ie n .IP """\-echr 0x14""" 4
.el .IP "\f(CW\-echr 0x14\fR" 4
.IX Item "-echr 0x14"
.PD 0
.ie n .IP """\-echr 20""" 4
.el .IP "\f(CW\-echr 20\fR" 4
.IX Item "-echr 20"
.RS 4
.IP "\fB\-virtioconsole\fR \fIc\fR" 4
.IX Item "-virtioconsole c"
Set virtio console.
.IP "\fB\-chroot dir\fR" 4
.IX Item "-chroot dir"
Immediately before starting guest execution, chroot to the specified
directory. Especially useful in combination with \-runas.
.IP "\fB\-runas user\fR" 4
.IX Item "-runas user"
Immediately before starting guest execution, drop root privileges, switching
to the specified user.
During the graphical emulation, you can use the following keys:
.IP "\fBCtrl-Alt-f\fR" 4
.IX Item "Ctrl-Alt-f"
Toggle full screen
.IP "\fBCtrl-Alt-n\fR" 4
.IX Item "Ctrl-Alt-n"
Switch to virtual console 'n'. Standard console mappings are:
.RS 4
.IP "\fI1\fR" 4
.IX Item "1"
Target system display
.IP "\fI2\fR" 4
.IX Item "2"
.IP "\fI3\fR" 4
.IX Item "3"
Serial port
.RS 4
.IP "\fBCtrl-Alt\fR" 4
.IX Item "Ctrl-Alt"
Toggle mouse and keyboard grab.
In the virtual consoles, you can use \fBCtrl-Up\fR, \fBCtrl-Down\fR,
\&\fBCtrl-PageUp\fR and \fBCtrl-PageDown\fR to move in the back log.
During emulation, if you are using the \fB\-nographic\fR option, use
\&\fBCtrl-a h\fR to get terminal commands:
.IP "\fBCtrl-a h\fR" 4
.IX Item "Ctrl-a h"
.PD 0
.IP "\fBCtrl-a ?\fR" 4
.IX Item "Ctrl-a ?"
Print this help
.IP "\fBCtrl-a x\fR" 4
.IX Item "Ctrl-a x"
Exit emulator
.IP "\fBCtrl-a s\fR" 4
.IX Item "Ctrl-a s"
Save disk data back to file (if \-snapshot)
.IP "\fBCtrl-a t\fR" 4
.IX Item "Ctrl-a t"
Toggle console timestamps
.IP "\fBCtrl-a b\fR" 4
.IX Item "Ctrl-a b"
Send break (magic sysrq in Linux)
.IP "\fBCtrl-a c\fR" 4
.IX Item "Ctrl-a c"
Switch between console and monitor
.IP "\fBCtrl-a Ctrl-a\fR" 4
.IX Item "Ctrl-a Ctrl-a"
Send Ctrl-a
The following options are specific to the PowerPC emulation:
.IP "\fB\-g WxH[xDEPTH]\fR" 4
.IX Item "-g WxH[xDEPTH]"
Set the initial \s-1VGA\s0 graphic mode. The default is 800x600x15.
.IP "\fB\-prom\-env string\fR" 4
.IX Item "-prom-env string"
Set OpenBIOS variables in \s-1NVRAM\s0, for example:
.Vb 3
\&        qemu\-system\-ppc \-prom\-env \*(Aqauto\-boot?=false\*(Aq \e
\&         \-prom\-env \*(Aqboot\-device=hd:2,\eyaboot\*(Aq \e
\&         \-prom\-env \*(Aqboot\-args=conf=hd:2,\eyaboot.conf\*(Aq
These variables are not used by Open Hack'Ware.
The following options are specific to the Sparc32 emulation:
.IP "\fB\-g WxHx[xDEPTH]\fR" 4
.IX Item "-g WxHx[xDEPTH]"
Set the initial \s-1TCX\s0 graphic mode. The default is 1024x768x8, currently
the only other possible mode is 1024x768x24.
.IP "\fB\-prom\-env string\fR" 4
.IX Item "-prom-env string"
Set OpenBIOS variables in \s-1NVRAM\s0, for example:
.Vb 2
\&        qemu\-system\-sparc \-prom\-env \*(Aqauto\-boot?=false\*(Aq \e
\&         \-prom\-env \*(Aqboot\-device=sd(0,2,0):d\*(Aq \-prom\-env \*(Aqboot\-args=linux single\*(Aq
.IP "\fB\-M [SS\-4|SS\-5|SS\-10|SS\-20|SS\-600MP|LX|Voyager|SPARCClassic|SPARCbook|SS\-2|SS\-1000|SS\-2000]\fR" 4
.IX Item "-M [SS-4|SS-5|SS-10|SS-20|SS-600MP|LX|Voyager|SPARCClassic|SPARCbook|SS-2|SS-1000|SS-2000]"
Set the emulated machine type. Default is \s-1SS\-5\s0.
The following options are specific to the Sparc64 emulation:
.IP "\fB\-prom\-env string\fR" 4
.IX Item "-prom-env string"
Set OpenBIOS variables in \s-1NVRAM\s0, for example:
.Vb 1
\&        qemu\-system\-sparc64 \-prom\-env \*(Aqauto\-boot?=false\*(Aq
.IP "\fB\-M [sun4u|sun4v|Niagara]\fR" 4
.IX Item "-M [sun4u|sun4v|Niagara]"
Set the emulated machine type. The default is sun4u.
.IX Header "SEE ALSO"
The \s-1HTML\s0 documentation of \s-1QEMU\s0 for more precise information and Linux
user mode emulator invocation.
.IX Header "AUTHOR"
Fabrice Bellard