QEMU(1)

NAME
qemu - QEMU System Emulator

SYNOPSIS
usage: qemu [options] [disk_image]

DESCRIPTION
The QEMU System emulator simulates the following PC peripherals:

-   i440FX host PCI bridge and PIIX3 PCI to ISA bridge

-   Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA extensions (hardware level, including all non standard modes).

-   PS/2 mouse and keyboard

-   2 PCI IDE interfaces with hard disk and CD-ROM support

-   Floppy disk

-   NE2000 PCI network adapters

-   Serial ports

-   Soundblaster 16 card

QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL VGA BIOS.

OPTIONS
disk_image is a raw hard disk image for IDE hard disk 0.

General options:

-fda file
-fdb file
    Use file as floppy disk 0/1 image You can use the host floppy by using /dev/fd0 as filename.

-hda file
-hdb file
-hdc file
-hdd file
    Use file as hard disk 0, 1, 2 or 3 image

-cdrom file
    Use file as CD-ROM image (you cannot use -hdc and and -cdrom at the same time). You can use the host CD-ROM by using /dev/cdrom as filename.

-boot [a|c|d]
    Boot on floppy (a), hard disk (c) or CD-ROM (d). Hard disk boot is the default.

-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 C-a s

-m megs
    Set virtual RAM size to megs megabytes. Default is 128 MB.

-nographic
    Normally, QEMU uses SDL to display the VGA output. With this option, you can totally disable graphical output so that QEMU is a simple command line application. The emulated serial port is redirected on the console. Therefore, you can still use QEMU to debug a Linux kernel with a serial console.

-k language
    Use keyboard layout language (for example "fr" for French). This option is only needed where it is not easy to get raw PC keycodes (e.g. on Macs or with some X11 servers). You don't need to use it on PC/Linux or PC/Windows hosts.

    The available layouts are:

            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 "en-us".

-enable-audio
    The SB16 emulation is disabled by default as it may give problems with Windows. You can enable it manually with this option.

-localtime
    Set the real time clock to local time (the default is to UTC time). This option is needed to have correct date in MS-DOS or Windows.

-full-screen
    Start in full screen.

-pidfile file
    Store the QEMU process PID in file. It is useful if you launch QEMU from a script.

-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 IDE transfers).

Network options:

-n script
    Set TUN/TAP network init script [default=/etc/qemu-ifup]. This script is launched to configure the host network interface (usually tun0) corresponding to the virtual NE2000 card.

-nics n
    Simulate n network cards (the default is 1).

-macaddr addr
    Set the mac address of the first interface (the format is aa:bb:cc:dd:ee:ff in hexa). The mac address is incremented for each new network interface.

-tun-fd fd
    Assumes fd talks to a tap/tun host network interface and use it. Read <http://bellard.org/qemu/tetrinet.html> to have an example of its use.

-user-net
    Use the user mode network stack. This is the default if no tun/tap network init script is found.

-tftp prefix
    When using the user mode network stack, activate a built-in TFTP server. All filenames beginning with prefix can be downloaded from the host to the guest using a TFTP client. The TFTP client on the guest must be configured in binary mode (use the command "bin" of the Unix TFTP client). The host IP address on the guest is as usual 10.0.2.2.

-smb dir
    When using the user mode network stack, activate a built-in SMB server so that Windows OSes can access to the host files in dir transparently.

    In the guest Windows OS, the line:

            10.0.2.4 smbserver

    must be added in the file C:\WINDOWS\LMHOSTS (for windows 9x/Me) or C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS (Windows NT/2000).

    Then dir can be accessed in \\smbserver\qemu.

    Note that a SAMBA server must be installed on the host OS in /usr/sbin/smbd. QEMU was tested succesfully with smbd version 2.2.7a from the Red Hat 9.

-redir [tcp|udp]:host-port:[guest-host]:guest-port
    When using the user mode network stack, redirect incoming TCP or UDP connections to the host port host-port to the guest guest-host on guest port guest-port. If guest-host is not specified, its value is 10.0.2.15 (default address given by the built-in DHCP server).

    For example, to redirect host X11 connection from screen 1 to guest screen 0, use the following:

            # 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:

            # on the host
            qemu -redir tcp:5555::23 [...]
            telnet localhost 5555

    Then when you use on the host "telnet localhost 5555", you connect to the guest telnet server.

-dummy-net
    Use the dummy network stack: no packet will be received by the network cards.

Linux boot specific. When using this 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.

-kernel bzImage
    Use bzImage as kernel image.

-append cmdline
    Use cmdline as kernel command line

-initrd file
    Use file as initial ram disk.

Debug/Expert options:

-serial dev
    Redirect the virtual serial port to host device dev. Available devices are:

    "vc"
        Virtual console

    "pty"
        [Linux only] Pseudo TTY (a new PTY is automatically allocated)

    "null"
        void device

    "stdio"
        [Unix only] standard input/output

    The default device is "vc" in graphical mode and "stdio" in non graphical mode.

    This option can be used several times to simulate up to 4 serials ports.

-monitor dev
    Redirect the monitor to host device dev (same devices as the serial port). The default device is "vc" in graphical mode and "stdio" in non graphical mode.

-s  Wait gdb connection to port 1234

-p port
    Change gdb connection port.

-S  Do not start CPU at startup (you must type 'c' in the monitor).

-d  Output log in /tmp/qemu.log

-hdachs c,h,s,[,t]
    Force hard disk 0 physical geometry (1 <= c <= 16383, 1 <= h <= 16, 1 <= s <= 63) and optionally force the BIOS translation mode (t=none, lba or auto). Usually QEMU can guess all thoses parameters. This option is useful for old MS-DOS disk images.

-isa
    Simulate an ISA-only system (default is PCI system).

-std-vga
    Simulate a standard VGA card with Bochs VBE extensions (default is Cirrus Logic GD5446 PCI VGA)

-loadvm file
    Start right away with a saved state ("loadvm" in monitor)

During the graphical emulation, you can use the following keys:

Ctrl-Alt-f
    Toggle full screen

Ctrl-Alt-n
    Switch to virtual console 'n'. Standard console mappings are:

    1   Target system display

    2   Monitor

    3   Serial port

Ctrl-Alt
    Toggle mouse and keyboard grab.

In the virtual consoles, you can use Ctrl-Up, Ctrl-Down, Ctrl-PageUp and Ctrl-PageDown to move in the back log.

During emulation, if you are using the -nographic option, use Ctrl-a h to get terminal commands:

Ctrl-a h
    Print this help

Ctrl-a x
    Exit emulatior

Ctrl-a s
    Save disk data back to file (if -snapshot)

Ctrl-a b
    Send break (magic sysrq in Linux)

Ctrl-a c
    Switch between console and monitor

Ctrl-a Ctrl-a
    Send Ctrl-a

The following options are specific to the PowerPC emulation:

-prep
    Simulate a PREP system (default is PowerMAC)

-g WxH[xDEPTH]
    Set the initial VGA graphic mode. The default is 800x600x15.

The following options are specific to the Sparc emulation:

-g WxH
    Set the initial TCX graphic mode. The default is 1024x768.

SEE ALSO
The HTML documentation of QEMU for more precise information and Linux user mode emulator invocation.

AUTHOR
Fabrice Bellard