|
|
| Line 4: |
Line 4: |
| | emulates a variety of different [http://qemu.org/status.html CPUs and | | emulates a variety of different [http://qemu.org/status.html CPUs and |
| | systems], and achieves good speed by using dynamic translation. | | systems], and achieves good speed by using dynamic translation. |
| | + | ==Articles== |
| | + | *[[Qemu on Linux]]: setting up and using Qemu under Linux |
| | ==Some Quick Notes== | | ==Some Quick Notes== |
| | *Creating the disk image: qemu-img create win98hd.img 2G qemu -hda | | *Creating the disk image: qemu-img create win98hd.img 2G qemu -hda |
| Line 21: |
Line 23: |
| | If you're wanting to run [[Windows 98]] under qemu, this option is moot | | If you're wanting to run [[Windows 98]] under qemu, this option is moot |
| | because kqemu and Win98 don't get along. | | because kqemu and Win98 don't get along. |
| − | ==Documentation==
| |
| − | ===NAME===
| |
| − | [[qemu]] - QEMU System Emulator ===SYNOPSIS===
| |
| − | usage: [[qemu]] [options] [disk_image] ===DESCRIPTION===
| |
| − | The QEMU System emulator simulates a complete PC. In order to meet
| |
| − | specific user needs, two versions of QEMU are available: #"qemu-fast"
| |
| − | uses the host Memory Management Unit (MMU) to simulate the x86 MMU. It
| |
| − | is fast but has limitations because the whole 4 GB address space cannot
| |
| − | be used and some memory mapped peripherials cannot be emulated
| |
| − | accurately yet. Therefore, a specific guest Linux kernel can be used
| |
| − | Moreover there is no separation between the host and target address
| |
| − | spaces, so it offers no security (the target OS can modify the
| |
| − | "qemu-fast" code by writing at the right addresses). #"qemu" uses a
| |
| − | software MMU. It is about two times slower but gives a more accurate
| |
| − | emulation and a complete separation between the host and target address
| |
| − | spaces. QEMU emulates the following PC peripherials: *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. *'''-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. ====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. *'''-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 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. *'''-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 *'''-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) ====PowerPC
| |
| − | Options====
| |
| − | The following options are specific to the PowerPC emulation:
| |
| − | *'''-prep'''
| |
| − | :Simulate a PREP system (default is PowerMAC) *'''-g'''
| |
| − | ''W'''''x'''''H''['''x'''''DEPTH'']
| |
| − | :Set the initial VGA graphic mode. The default is 800x600x15.
| |
| − | ===Keys===
| |
| − | 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 ===SEE ALSO===
| |
| − | The HTML documentation of QEMU for more precise information and Linux
| |
| − | user mode emulator invocation. ===AUTHOR===
| |
| − | Fabrice Bellard
| |
| − | ==Edit Log==
| |
| − | *'''2005-06-25''': Added contents of manpage
| |