]> git.proxmox.com Git - qemu.git/blobdiff - qemu-doc.texi
audio clean up (initial patch by malc)
[qemu.git] / qemu-doc.texi
index 530dbf1780bad6ea6b309b67c6cd97f5c25838f1..c262ee7e9c15bdccf1f04030583d020ffc0ad2bc 100644 (file)
@@ -89,11 +89,17 @@ available:
 simulate the x86 MMU. It is @emph{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 (@xref{linux_compile}) as guest OS.
+guest Linux kernel can be used (@xref{linux_compile}) as guest
+OS. 
+
+Moreover there is no separation between the host and target address
+spaces, so it offers no security (the target OS can modify the
+@code{qemu-fast} code by writing at the right addresses).
 
 @item 
-@code{qemu} uses a software MMU. It is about @emph{two times 
-slower} but gives a more accurate emulation. 
+@code{qemu} uses a software MMU. It is about @emph{two times slower}
+but gives a more accurate emulation and a complete separation between
+the host and target address spaces.
 
 @end enumerate
 
@@ -114,8 +120,8 @@ Floppy disk
 @item 
 NE2000 PCI network adapters
 @item
-Serial port
-@item 
+Serial ports
+@item
 Soundblaster 16 card
 @end itemize
 
@@ -175,9 +181,6 @@ the write back by pressing @key{C-a s} (@xref{disk_images}).
 @item -m megs
 Set virtual RAM size to @var{megs} megabytes. Default is 128 MB.
 
-@item -initrd file
-Use @var{file} as initial ram disk.
-
 @item -nographic
 
 Normally, QEMU uses SDL to display the VGA output. With this option,
@@ -196,6 +199,9 @@ 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.
 
+@item -full-screen
+Start in full screen.
+
 @end table
 
 Network options:
@@ -222,6 +228,62 @@ example of its use.
 Use the user mode network stack. This is the default if no tun/tap
 network init script is found.
 
+@item -tftp prefix
+When using the user mode network stack, activate a built-in TFTP
+server. All filenames beginning with @var{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 @code{bin} of
+the Unix TFTP client). The host IP address on the guest is as usual
+10.0.2.2.
+
+@item -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 @file{dir}
+transparently.
+
+In the guest Windows OS, the line:
+@example
+10.0.2.4 smbserver
+@end example
+must be added in the file @file{C:\WINDOWS\LMHOSTS} (for windows 9x/Me)
+or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS} (Windows NT/2000).
+
+Then @file{dir} can be accessed in @file{\\smbserver\qemu}.
+
+Note that a SAMBA server must be installed on the host OS in
+@file{/usr/sbin/smbd}. QEMU was tested succesfully with smbd version
+2.2.7a from the Red Hat 9.
+
+@item -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 @var{host-port} to the guest
+@var{guest-host} on guest port @var{guest-port}. If @var{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:
+
+@example
+# on the host
+qemu -redir tcp:6001::6000 [...]
+# this host xterm should open in the guest X11 server
+xterm -display :1
+@end example
+
+To redirect telnet connections from host port 5555 to telnet port on
+the guest, use the following:
+
+@example
+# on the host
+qemu -redir tcp:5555::23 [...]
+telnet localhost 5555
+@end example
+
+Then when you use on the host @code{telnet localhost 5555}, you
+connect to the guest telnet server.
+
 @item -dummy-net 
 Use the dummy network stack: no packet will be received by the network
 cards.
@@ -247,6 +309,32 @@ Use @var{file} as initial ram disk.
 
 Debug/Expert options:
 @table @option
+
+@item -serial dev
+Redirect the virtual serial port to host device @var{dev}. Available
+devices are:
+@table @code
+@item vc
+Virtual console
+@item pty
+[Linux only] Pseudo TTY (a new PTY is automatically allocated)
+@item null
+void device
+@item stdio
+[Unix only] standard input/output
+@end table
+The default device is @code{vc} in graphical mode and @code{stdio} in
+non graphical mode.
+
+This option can be used several times to simulate up to 4 serials
+ports.
+
+@item -monitor dev
+Redirect the monitor to host device @var{dev} (same devices as the
+serial port).
+The default device is @code{vc} in graphical mode and @code{stdio} in
+non graphical mode.
+
 @item -s
 Wait gdb connection to port 1234 (@xref{gdb_usage}). 
 @item -p port
@@ -260,19 +348,41 @@ Simulate an ISA-only system (default is PCI system).
 @item -std-vga
 Simulate a standard VGA card with Bochs VBE extensions (default is
 Cirrus Logic GD5446 PCI VGA)
-
+@item -loadvm file
+Start right away with a saved state (@code{loadvm} in monitor)
 @end table
 
+@c man end
+
+@section Keys
+
+@c man begin OPTIONS
+
 During the graphical emulation, you can use the following keys:
 @table @key
-@item Ctrl-Shift
-Toggle mouse and keyboard grab.
-@item Ctrl-Shift-f
+@item Ctrl-Alt-f
 Toggle full screen
+
+@item Ctrl-Alt-n
+Switch to virtual console 'n'. Standard console mappings are:
+@table @emph
+@item 1
+Target system display
+@item 2
+Monitor
+@item 3
+Serial port
 @end table
 
-During emulation, if you are using the serial console, use @key{C-a h}
-to get terminal commands:
+@item Ctrl-Alt
+Toggle mouse and keyboard grab.
+@end table
+
+In the virtual consoles, you can use @key{Ctrl-Up}, @key{Ctrl-Down},
+@key{Ctrl-PageUp} and @key{Ctrl-PageDown} to move in the back log.
+
+During emulation, if you are using the @option{-nographic} option, use
+@key{Ctrl-a h} to get terminal commands:
 
 @table @key
 @item Ctrl-a h
@@ -583,8 +693,9 @@ configuration is the following:
 QEMU Virtual Machine    <------>  Firewall/DHCP server <-----> Internet
      (10.0.2.x)            |          (10.0.2.2)
                            |
-                           ---->  DNS 
-                              (10.0.2.3)
+                           ---->  DNS server (10.0.2.3)
+                           |     
+                           ---->  SMB server (10.0.2.4)
 @end example
 
 The QEMU VM behaves as if it was behind a firewall which blocks all
@@ -599,7 +710,12 @@ Note that @code{ping} is not supported reliably to the internet as it
 would require root priviledges. It means you can only ping the local
 router (10.0.2.2).
 
-The user mode network is currently only supported on a Unix host.
+When using the built-in TFTP server, the router is also the TFTP
+server.
+
+When using the @option{-redir} option, TCP or UDP connections can be
+redirected from the host to the guest. It allows for example to
+redirect X11, telnet or SSH connections.
 
 @node direct_linux_boot
 @section Direct Linux Boot
@@ -876,22 +992,64 @@ To have access to SVGA graphic modes under X11, use the @code{vesa} or
 the @code{cirrus} X11 driver. For optimal performances, use 16 bit
 color depth in the guest and the host OS.
 
+When using a 2.6 guest Linux kernel, you should add the option
+@code{clock=pit} on the kernel command line because the 2.6 Linux
+kernels make very strict real time clock checks by default that QEMU
+cannot simulate exactly.
+
 @subsection Windows
 
 If you have a slow host, using Windows 95 is better as it gives the
 best speed. Windows 2000 is also a good choice.
 
-SVGA graphic modes support: QEMU emulates a Cirrus Logic GD5446 Video
+@subsubsection SVGA graphic modes support
+
+QEMU emulates a Cirrus Logic GD5446 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 OS.
 
-CPU usage reduction: Windows 9x does not correctly use the CPU HLT
+@subsubsection CPU usage reduction
+
+Windows 9x does not correctly use the CPU HLT
 instruction. The result is that it takes host CPU cycles even when
 idle. You can install the utility from
 @url{http://www.user.cityline.ru/~maxamn/amnhltm.zip} to solve this
 problem. Note that no such tool is needed for NT, 2000 or XP.
 
+@subsubsection Windows 2000 disk full problems
+
+Currently (release 0.6.0) QEMU has a bug which gives a @code{disk
+full} error during installation of some releases of Windows 2000. The
+workaround is to stop QEMU as soon as you notice that your disk image
+size is growing too fast (monitor it with @code{ls -ls}). Then
+relaunch QEMU to continue the installation. If you still experience
+the problem, relaunch QEMU again.
+
+Future QEMU releases are likely to correct this bug.
+
+@subsubsection Windows XP security problems
+
+Some releases of Windows XP install correctly but give a security
+error when booting:
+@example
+A problem is preventing Windows from accurately checking the
+license for this computer. Error code: 0x800703e6.
+@end example
+The only known workaround is to boot in Safe mode
+without networking support. 
+
+Future QEMU releases are likely to correct this bug.
+
+@subsection MS-DOS and FreeDOS
+
+@subsubsection CPU usage reduction
+
+DOS does not correctly use the CPU HLT instruction. The result is that
+it takes host CPU cycles even when idle. You can install the utility
+from @url{http://www.vmware.com/software/dosidle210.zip} to solve this
+problem.
+
 @chapter QEMU PowerPC System emulator invocation
 
 Use the executable @file{qemu-system-ppc} to simulate a complete PREP