mirror of https://gitee.com/openkylin/qemu.git
Merge remote-tracking branch 'sweil/for-1.1' into staging
* sweil/for-1.1: qemu-doc: Use QEMU instead of qemu for product name qemu-doc: Fix executable name in examples qemu-doc: Add missing parameter in description of -D option configure: Use QEMU instead of Qemu fix some common typos qemu-timer: Fix wrong error message
This commit is contained in:
commit
82ac96a72b
|
@ -447,7 +447,7 @@ version 0.5.0:
|
|||
- multi-target build
|
||||
- fixed: no error code in hardware interrupts
|
||||
- fixed: pop ss, mov ss, x and sti disable hardware irqs for the next insn
|
||||
- correct single stepping thru string operations
|
||||
- correct single stepping through string operations
|
||||
- preliminary SPARC target support (Thomas M. Ogrisegg)
|
||||
- tun-fd option (Rusty Russell)
|
||||
- automatic IDE geometry detection
|
||||
|
|
|
@ -1006,7 +1006,7 @@ echo " --datadir=PATH install firmware in PATH$confsuffix"
|
|||
echo " --docdir=PATH install documentation in PATH$confsuffix"
|
||||
echo " --bindir=PATH install binaries in PATH"
|
||||
echo " --sysconfdir=PATH install config in PATH$confsuffix"
|
||||
echo " --with-confsuffix=SUFFIX suffix for Qemu data inside datadir and sysconfdir [$confsuffix]"
|
||||
echo " --with-confsuffix=SUFFIX suffix for QEMU data inside datadir and sysconfdir [$confsuffix]"
|
||||
echo " --enable-debug-tcg enable TCG debugging"
|
||||
echo " --disable-debug-tcg disable TCG debugging (default)"
|
||||
echo " --enable-debug enable common debug build options"
|
||||
|
|
|
@ -257,7 +257,7 @@ static Coroutine *coroutine_new(void)
|
|||
/*
|
||||
* Now enter the trampoline again, but this time not as a signal
|
||||
* handler. Instead we jump into it directly. The functionally
|
||||
* redundant ping-pong pointer arithmentic is neccessary to avoid
|
||||
* redundant ping-pong pointer arithmetic is necessary to avoid
|
||||
* type-conversion warnings related to the `volatile' qualifier and
|
||||
* the fact that `jmp_buf' usually is an array type.
|
||||
*/
|
||||
|
|
2
disas.c
2
disas.c
|
@ -51,7 +51,7 @@ perror_memory (int status, bfd_vma memaddr, struct disassemble_info *info)
|
|||
"Address 0x%" PRIx64 " is out of bounds.\n", memaddr);
|
||||
}
|
||||
|
||||
/* This could be in a separate file, to save miniscule amounts of space
|
||||
/* This could be in a separate file, to save minuscule amounts of space
|
||||
in statically linked executables. */
|
||||
|
||||
/* Just print the address is hex. This is included for completeness even
|
||||
|
|
|
@ -1091,8 +1091,8 @@ static void ehci_mem_writel(void *ptr, target_phys_addr_t addr, uint32_t val)
|
|||
break;
|
||||
|
||||
case USBSTS:
|
||||
val &= USBSTS_RO_MASK; // bits 6 thru 31 are RO
|
||||
ehci_clear_usbsts(s, val); // bits 0 thru 5 are R/WC
|
||||
val &= USBSTS_RO_MASK; // bits 6 through 31 are RO
|
||||
ehci_clear_usbsts(s, val); // bits 0 through 5 are R/WC
|
||||
val = s->usbsts;
|
||||
ehci_set_interrupt(s, 0);
|
||||
break;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
# lexer/tokenizer/parser state should be flushed/reset in
|
||||
# preparation for reliably receiving the subsequent response. As
|
||||
# an optimization, clients may opt to ignore all data until a
|
||||
# sentinel value is receiving to avoid unecessary processing of
|
||||
# sentinel value is receiving to avoid unnecessary processing of
|
||||
# stale data.
|
||||
#
|
||||
# Similarly, clients should also precede this *request*
|
||||
|
|
|
@ -227,15 +227,15 @@ QEMU uses GUS emulation (GUSEMU32 @url{http://www.deinmeister.de/gusemu/})
|
|||
by Tibor "TS" Schütz.
|
||||
|
||||
Note that, by default, GUS shares IRQ(7) with parallel ports and so
|
||||
qemu must be told to not have parallel ports to have working GUS
|
||||
QEMU must be told to not have parallel ports to have working GUS.
|
||||
|
||||
@example
|
||||
qemu dos.img -soundhw gus -parallel none
|
||||
qemu-system-i386 dos.img -soundhw gus -parallel none
|
||||
@end example
|
||||
|
||||
Alternatively:
|
||||
@example
|
||||
qemu dos.img -device gus,irq=5
|
||||
qemu-system-i386 dos.img -device gus,irq=5
|
||||
@end example
|
||||
|
||||
Or some other unclaimed IRQ.
|
||||
|
@ -251,7 +251,7 @@ CS4231A is the chip used in Windows Sound System and GUSMAX products
|
|||
Download and uncompress the linux image (@file{linux.img}) and type:
|
||||
|
||||
@example
|
||||
qemu linux.img
|
||||
qemu-system-i386 linux.img
|
||||
@end example
|
||||
|
||||
Linux should boot and give you a prompt.
|
||||
|
@ -261,7 +261,7 @@ Linux should boot and give you a prompt.
|
|||
|
||||
@example
|
||||
@c man begin SYNOPSIS
|
||||
usage: qemu [options] [@var{disk_image}]
|
||||
usage: qemu-system-i386 [options] [@var{disk_image}]
|
||||
@c man end
|
||||
@end example
|
||||
|
||||
|
@ -575,7 +575,7 @@ QEMU can automatically create a virtual FAT disk image from a
|
|||
directory tree. In order to use it, just type:
|
||||
|
||||
@example
|
||||
qemu linux.img -hdb fat:/my_directory
|
||||
qemu-system-i386 linux.img -hdb fat:/my_directory
|
||||
@end example
|
||||
|
||||
Then you access access to all the files in the @file{/my_directory}
|
||||
|
@ -585,14 +585,14 @@ them via SAMBA or NFS. The default access is @emph{read-only}.
|
|||
Floppies can be emulated with the @code{:floppy:} option:
|
||||
|
||||
@example
|
||||
qemu linux.img -fda fat:floppy:/my_directory
|
||||
qemu-system-i386 linux.img -fda fat:floppy:/my_directory
|
||||
@end example
|
||||
|
||||
A read/write support is available for testing (beta stage) with the
|
||||
@code{:rw:} option:
|
||||
|
||||
@example
|
||||
qemu linux.img -fda fat:floppy:rw:/my_directory
|
||||
qemu-system-i386 linux.img -fda fat:floppy:rw:/my_directory
|
||||
@end example
|
||||
|
||||
What you should @emph{never} do:
|
||||
|
@ -610,14 +610,14 @@ QEMU can access directly to block device exported using the Network Block Device
|
|||
protocol.
|
||||
|
||||
@example
|
||||
qemu linux.img -hdb nbd:my_nbd_server.mydomain.org:1024
|
||||
qemu-system-i386 linux.img -hdb nbd:my_nbd_server.mydomain.org:1024
|
||||
@end example
|
||||
|
||||
If the NBD server is located on the same host, you can use an unix socket instead
|
||||
of an inet socket:
|
||||
|
||||
@example
|
||||
qemu linux.img -hdb nbd:unix:/tmp/my_socket
|
||||
qemu-system-i386 linux.img -hdb nbd:unix:/tmp/my_socket
|
||||
@end example
|
||||
|
||||
In this case, the block device must be exported using qemu-nbd:
|
||||
|
@ -633,15 +633,15 @@ qemu-nbd --socket=/tmp/my_socket --share=2 my_disk.qcow2
|
|||
|
||||
and then you can use it with two guests:
|
||||
@example
|
||||
qemu linux1.img -hdb nbd:unix:/tmp/my_socket
|
||||
qemu linux2.img -hdb nbd:unix:/tmp/my_socket
|
||||
qemu-system-i386 linux1.img -hdb nbd:unix:/tmp/my_socket
|
||||
qemu-system-i386 linux2.img -hdb nbd:unix:/tmp/my_socket
|
||||
@end example
|
||||
|
||||
If the nbd-server uses named exports (since NBD 2.9.18), you must use the
|
||||
"exportname" option:
|
||||
@example
|
||||
qemu -cdrom nbd:localhost:exportname=debian-500-ppc-netinst
|
||||
qemu -cdrom nbd:localhost:exportname=openSUSE-11.1-ppc-netinst
|
||||
qemu-system-i386 -cdrom nbd:localhost:exportname=debian-500-ppc-netinst
|
||||
qemu-system-i386 -cdrom nbd:localhost:exportname=openSUSE-11.1-ppc-netinst
|
||||
@end example
|
||||
|
||||
@node disk_images_sheepdog
|
||||
|
@ -666,7 +666,7 @@ qemu-img convert @var{filename} sheepdog:@var{image}
|
|||
|
||||
You can boot from the Sheepdog disk image with the command:
|
||||
@example
|
||||
qemu sheepdog:@var{image}
|
||||
qemu-system-i386 sheepdog:@var{image}
|
||||
@end example
|
||||
|
||||
You can also create a snapshot of the Sheepdog image like qcow2.
|
||||
|
@ -678,7 +678,7 @@ where @var{tag} is a tag name of the newly created snapshot.
|
|||
To boot from the Sheepdog snapshot, specify the tag name of the
|
||||
snapshot.
|
||||
@example
|
||||
qemu sheepdog:@var{image}:@var{tag}
|
||||
qemu-system-i386 sheepdog:@var{image}:@var{tag}
|
||||
@end example
|
||||
|
||||
You can create a cloned image from the existing snapshot.
|
||||
|
@ -692,7 +692,7 @@ If the Sheepdog daemon doesn't run on the local host, you need to
|
|||
specify one of the Sheepdog servers to connect to.
|
||||
@example
|
||||
qemu-img create sheepdog:@var{hostname}:@var{port}:@var{image} @var{size}
|
||||
qemu sheepdog:@var{hostname}:@var{port}:@var{image}
|
||||
qemu-system-i386 sheepdog:@var{hostname}:@var{port}:@var{image}
|
||||
@end example
|
||||
|
||||
@node disk_images_iscsi
|
||||
|
@ -899,7 +899,7 @@ zero-copy communication to the application level of the guests. The basic
|
|||
syntax is:
|
||||
|
||||
@example
|
||||
qemu -device ivshmem,size=<size in format accepted by -m>[,shm=<shm name>]
|
||||
qemu-system-i386 -device ivshmem,size=<size in format accepted by -m>[,shm=<shm name>]
|
||||
@end example
|
||||
|
||||
If desired, interrupts can be sent between guest VMs accessing the same shared
|
||||
|
@ -909,9 +909,9 @@ is qemu.git/contrib/ivshmem-server. An example syntax when using the shared
|
|||
memory server is:
|
||||
|
||||
@example
|
||||
qemu -device ivshmem,size=<size in format accepted by -m>[,chardev=<id>]
|
||||
[,msi=on][,ioeventfd=on][,vectors=n][,role=peer|master]
|
||||
qemu -chardev socket,path=<path>,id=<id>
|
||||
qemu-system-i386 -device ivshmem,size=<size in format accepted by -m>[,chardev=<id>]
|
||||
[,msi=on][,ioeventfd=on][,vectors=n][,role=peer|master]
|
||||
qemu-system-i386 -chardev socket,path=<path>,id=<id>
|
||||
@end example
|
||||
|
||||
When using the server, the guest will be assigned a VM ID (>=0) that allows guests
|
||||
|
@ -941,7 +941,7 @@ kernel testing.
|
|||
|
||||
The syntax is:
|
||||
@example
|
||||
qemu -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda"
|
||||
qemu-system-i386 -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda"
|
||||
@end example
|
||||
|
||||
Use @option{-kernel} to provide the Linux kernel image and
|
||||
|
@ -956,8 +956,8 @@ If you do not need graphical output, you can disable it and redirect
|
|||
the virtual serial port and the QEMU monitor to the console with the
|
||||
@option{-nographic} option. The typical command line is:
|
||||
@example
|
||||
qemu -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
|
||||
-append "root=/dev/hda console=ttyS0" -nographic
|
||||
qemu-system-i386 -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
|
||||
-append "root=/dev/hda console=ttyS0" -nographic
|
||||
@end example
|
||||
|
||||
Use @key{Ctrl-a c} to switch between the serial console and the
|
||||
|
@ -986,7 +986,7 @@ or the @code{usb_add} monitor command. Available devices are:
|
|||
Virtual Mouse. This will override the PS/2 mouse emulation when activated.
|
||||
@item tablet
|
||||
Pointer device that uses absolute coordinates (like a touchscreen).
|
||||
This means qemu is able to report the mouse position without having
|
||||
This means QEMU is able to report the mouse position without having
|
||||
to grab the mouse. Also overrides the PS/2 mouse emulation when activated.
|
||||
@item disk:@var{file}
|
||||
Mass storage device based on @var{file} (@pxref{disk_images})
|
||||
|
@ -1020,7 +1020,7 @@ Network adapter that supports CDC ethernet and RNDIS protocols. @var{options}
|
|||
specifies NIC options as with @code{-net nic,}@var{options} (see description).
|
||||
For instance, user-mode networking can be used with
|
||||
@example
|
||||
qemu [...OPTIONS...] -net user,vlan=0 -usbdevice net:vlan=0
|
||||
qemu-system-i386 [...OPTIONS...] -net user,vlan=0 -usbdevice net:vlan=0
|
||||
@end example
|
||||
Currently this cannot be used in machines that support PCI NICs.
|
||||
@item bt[:@var{hci-type}]
|
||||
|
@ -1030,7 +1030,7 @@ no type is given, the HCI logic corresponds to @code{-bt hci,vlan=0}.
|
|||
This USB device implements the USB Transport Layer of HCI. Example
|
||||
usage:
|
||||
@example
|
||||
qemu [...OPTIONS...] -usbdevice bt:hci,vlan=3 -bt device:keyboard,vlan=3
|
||||
qemu-system-i386 [...OPTIONS...] -usbdevice bt:hci,vlan=3 -bt device:keyboard,vlan=3
|
||||
@end example
|
||||
@end table
|
||||
|
||||
|
@ -1108,7 +1108,7 @@ For this setup it is recommended to restrict it to listen on a UNIX domain
|
|||
socket only. For example
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -vnc unix:/home/joebloggs/.qemu-myvm-vnc
|
||||
qemu-system-i386 [...OPTIONS...] -vnc unix:/home/joebloggs/.qemu-myvm-vnc
|
||||
@end example
|
||||
|
||||
This ensures that only users on local box with read/write access to that
|
||||
|
@ -1129,7 +1129,7 @@ option, and then once QEMU is running the password is set with the monitor. Unti
|
|||
the monitor is used to set the password all clients will be rejected.
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -vnc :1,password -monitor stdio
|
||||
qemu-system-i386 [...OPTIONS...] -vnc :1,password -monitor stdio
|
||||
(qemu) change vnc password
|
||||
Password: ********
|
||||
(qemu)
|
||||
|
@ -1146,7 +1146,7 @@ support provides a secure session, but no authentication. This allows any
|
|||
client to connect, and provides an encrypted session.
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -vnc :1,tls,x509=/etc/pki/qemu -monitor stdio
|
||||
qemu-system-i386 [...OPTIONS...] -vnc :1,tls,x509=/etc/pki/qemu -monitor stdio
|
||||
@end example
|
||||
|
||||
In the above example @code{/etc/pki/qemu} should contain at least three files,
|
||||
|
@ -1164,7 +1164,7 @@ then validate against the CA certificate. This is a good choice if deploying
|
|||
in an environment with a private internal certificate authority.
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -vnc :1,tls,x509verify=/etc/pki/qemu -monitor stdio
|
||||
qemu-system-i386 [...OPTIONS...] -vnc :1,tls,x509verify=/etc/pki/qemu -monitor stdio
|
||||
@end example
|
||||
|
||||
|
||||
|
@ -1175,7 +1175,7 @@ Finally, the previous method can be combined with VNC password authentication
|
|||
to provide two layers of authentication for clients.
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -vnc :1,password,tls,x509verify=/etc/pki/qemu -monitor stdio
|
||||
qemu-system-i386 [...OPTIONS...] -vnc :1,password,tls,x509verify=/etc/pki/qemu -monitor stdio
|
||||
(qemu) change vnc password
|
||||
Password: ********
|
||||
(qemu)
|
||||
|
@ -1198,7 +1198,7 @@ used for authentication, but assuming use of one supporting SSF,
|
|||
then QEMU can be launched with:
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -vnc :1,sasl -monitor stdio
|
||||
qemu-system-i386 [...OPTIONS...] -vnc :1,sasl -monitor stdio
|
||||
@end example
|
||||
|
||||
@node vnc_sec_certificate_sasl
|
||||
|
@ -1212,7 +1212,7 @@ credentials. This can be enabled, by combining the 'sasl' option
|
|||
with the aforementioned TLS + x509 options:
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -vnc :1,tls,x509,sasl -monitor stdio
|
||||
qemu-system-i386 [...OPTIONS...] -vnc :1,tls,x509,sasl -monitor stdio
|
||||
@end example
|
||||
|
||||
|
||||
|
@ -1377,11 +1377,11 @@ use TLS and x509 certificates to protect security credentials from snooping.
|
|||
QEMU has a primitive support to work with gdb, so that you can do
|
||||
'Ctrl-C' while the virtual machine is running and inspect its state.
|
||||
|
||||
In order to use gdb, launch qemu with the '-s' option. It will wait for a
|
||||
In order to use gdb, launch QEMU with the '-s' option. It will wait for a
|
||||
gdb connection:
|
||||
@example
|
||||
> qemu -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
|
||||
-append "root=/dev/hda"
|
||||
qemu-system-i386 -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
|
||||
-append "root=/dev/hda"
|
||||
Connected to host network interface: tun0
|
||||
Waiting gdb connection on port 1234
|
||||
@end example
|
||||
|
@ -2313,8 +2313,8 @@ qemu-i386 -L / /bin/ls
|
|||
@code{-L /} tells that the x86 dynamic linker must be searched with a
|
||||
@file{/} prefix.
|
||||
|
||||
@item Since QEMU is also a linux process, you can launch qemu with
|
||||
qemu (NOTE: you can only do that if you compiled QEMU from the sources):
|
||||
@item Since QEMU is also a linux process, you can launch QEMU with
|
||||
QEMU (NOTE: you can only do that if you compiled QEMU from the sources):
|
||||
|
||||
@example
|
||||
qemu-i386 -L / qemu-i386 -L / /bin/ls
|
||||
|
@ -2669,7 +2669,8 @@ installation directory.
|
|||
|
||||
@end itemize
|
||||
|
||||
Wine can be used to launch the resulting qemu.exe compiled for Win32.
|
||||
Wine can be used to launch the resulting qemu-system-i386.exe
|
||||
and all other qemu-system-@var{target}.exe compiled for Win32.
|
||||
|
||||
@node Mac OS X
|
||||
@section Mac OS X
|
||||
|
|
|
@ -304,7 +304,7 @@ static void ga_disable_non_whitelisted(void)
|
|||
g_free(list_head);
|
||||
}
|
||||
|
||||
/* [re-]enable all commands, except those explictly blacklisted by user */
|
||||
/* [re-]enable all commands, except those explicitly blacklisted by user */
|
||||
static void ga_enable_non_blacklisted(GList *blacklist)
|
||||
{
|
||||
char **list_head, **list;
|
||||
|
|
155
qemu-options.hx
155
qemu-options.hx
|
@ -221,7 +221,7 @@ qcow2. If performance is more important than correctness,
|
|||
@option{cache=writeback} should be used with qcow2.
|
||||
|
||||
In case you don't care about data integrity over host failures, use
|
||||
cache=unsafe. This option tells qemu that it never needs to write any data
|
||||
cache=unsafe. This option tells QEMU that it never needs to write any data
|
||||
to the disk but can instead keeps things in cache. If anything goes wrong,
|
||||
like your host losing power, the disk storage getting disconnected accidentally,
|
||||
etc. you're image will most probably be rendered unusable. When using
|
||||
|
@ -233,47 +233,47 @@ is off.
|
|||
|
||||
Instead of @option{-cdrom} you can use:
|
||||
@example
|
||||
qemu -drive file=file,index=2,media=cdrom
|
||||
qemu-system-i386 -drive file=file,index=2,media=cdrom
|
||||
@end example
|
||||
|
||||
Instead of @option{-hda}, @option{-hdb}, @option{-hdc}, @option{-hdd}, you can
|
||||
use:
|
||||
@example
|
||||
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
|
||||
qemu-system-i386 -drive file=file,index=0,media=disk
|
||||
qemu-system-i386 -drive file=file,index=1,media=disk
|
||||
qemu-system-i386 -drive file=file,index=2,media=disk
|
||||
qemu-system-i386 -drive file=file,index=3,media=disk
|
||||
@end example
|
||||
|
||||
You can connect a CDROM to the slave of ide0:
|
||||
@example
|
||||
qemu -drive file=file,if=ide,index=1,media=cdrom
|
||||
qemu-system-i386 -drive file=file,if=ide,index=1,media=cdrom
|
||||
@end example
|
||||
|
||||
If you don't specify the "file=" argument, you define an empty drive:
|
||||
@example
|
||||
qemu -drive if=ide,index=1,media=cdrom
|
||||
qemu-system-i386 -drive if=ide,index=1,media=cdrom
|
||||
@end example
|
||||
|
||||
You can connect a SCSI disk with unit ID 6 on the bus #0:
|
||||
@example
|
||||
qemu -drive file=file,if=scsi,bus=0,unit=6
|
||||
qemu-system-i386 -drive file=file,if=scsi,bus=0,unit=6
|
||||
@end example
|
||||
|
||||
Instead of @option{-fda}, @option{-fdb}, you can use:
|
||||
@example
|
||||
qemu -drive file=file,index=0,if=floppy
|
||||
qemu -drive file=file,index=1,if=floppy
|
||||
qemu-system-i386 -drive file=file,index=0,if=floppy
|
||||
qemu-system-i386 -drive file=file,index=1,if=floppy
|
||||
@end example
|
||||
|
||||
By default, @var{interface} is "ide" and @var{index} is automatically
|
||||
incremented:
|
||||
@example
|
||||
qemu -drive file=a -drive file=b"
|
||||
qemu-system-i386 -drive file=a -drive file=b"
|
||||
@end example
|
||||
is interpreted like:
|
||||
@example
|
||||
qemu -hda a -hdb b
|
||||
qemu-system-i386 -hda a -hdb b
|
||||
@end example
|
||||
ETEXI
|
||||
|
||||
|
@ -297,7 +297,7 @@ STEXI
|
|||
Set default value of @var{driver}'s property @var{prop} to @var{value}, e.g.:
|
||||
|
||||
@example
|
||||
qemu -global ide-drive.physical_block_size=4096 -drive file=file,if=ide,index=0,media=disk
|
||||
qemu-system-i386 -global ide-drive.physical_block_size=4096 -drive file=file,if=ide,index=0,media=disk
|
||||
@end example
|
||||
|
||||
In particular, you can use this to set driver properties for devices which are
|
||||
|
@ -359,11 +359,11 @@ the recommended is 320x240, 640x480, 800x640.
|
|||
|
||||
@example
|
||||
# try to boot from network first, then from hard disk
|
||||
qemu -boot order=nc
|
||||
qemu-system-i386 -boot order=nc
|
||||
# boot from CD-ROM first, switch back to default order after reboot
|
||||
qemu -boot once=d
|
||||
qemu-system-i386 -boot once=d
|
||||
# boot with a splash picture for 5 seconds.
|
||||
qemu -boot menu=on,splash=/root/boot.bmp,splash-time=5000
|
||||
qemu-system-i386 -boot menu=on,splash=/root/boot.bmp,splash-time=5000
|
||||
@end example
|
||||
|
||||
Note: The legacy format '-boot @var{drives}' is still supported but its
|
||||
|
@ -454,12 +454,12 @@ Enable audio and selected sound hardware. Use ? to print all
|
|||
available sound hardware.
|
||||
|
||||
@example
|
||||
qemu -soundhw sb16,adlib disk.img
|
||||
qemu -soundhw es1370 disk.img
|
||||
qemu -soundhw ac97 disk.img
|
||||
qemu -soundhw hda disk.img
|
||||
qemu -soundhw all disk.img
|
||||
qemu -soundhw ?
|
||||
qemu-system-i386 -soundhw sb16,adlib disk.img
|
||||
qemu-system-i386 -soundhw es1370 disk.img
|
||||
qemu-system-i386 -soundhw ac97 disk.img
|
||||
qemu-system-i386 -soundhw hda disk.img
|
||||
qemu-system-i386 -soundhw all disk.img
|
||||
qemu-system-i386 -soundhw ?
|
||||
@end example
|
||||
|
||||
Note that Linux's i810_audio OSS kernel (for AC97) module might
|
||||
|
@ -515,7 +515,7 @@ Virtual Mouse. This will override the PS/2 mouse emulation when activated.
|
|||
|
||||
@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
|
||||
means QEMU is able to report the mouse position without having to grab the
|
||||
mouse. Also overrides the PS/2 mouse emulation when activated.
|
||||
|
||||
@item disk:[format=@var{format}]:@var{file}
|
||||
|
@ -587,7 +587,7 @@ this path will be available to the 9p client on the guest.
|
|||
Specifies the security model to be used for this export path.
|
||||
Supported security models are "passthrough", "mapped-xattr", "mapped-file" and "none".
|
||||
In "passthrough" security model, files are stored using the same
|
||||
credentials as they are created on the guest. This requires qemu
|
||||
credentials as they are created on the guest. This requires QEMU
|
||||
to run as root. In "mapped-xattr" security model, some of the file
|
||||
attributes like uid, gid, mode bits and link target are stored as
|
||||
file attributes. For "mapped-file" these attributes are stored in the
|
||||
|
@ -654,7 +654,7 @@ this path will be available to the 9p client on the guest.
|
|||
Specifies the security model to be used for this export path.
|
||||
Supported security models are "passthrough", "mapped-xattr", "mapped-file" and "none".
|
||||
In "passthrough" security model, files are stored using the same
|
||||
credentials as they are created on the guest. This requires qemu
|
||||
credentials as they are created on the guest. This requires QEMU
|
||||
to run as root. In "mapped-xattr" security model, some of the file
|
||||
attributes like uid, gid, mode bits and link target are stored as
|
||||
file attributes. For "mapped-file" these attributes are stored in the
|
||||
|
@ -1117,7 +1117,7 @@ disables exclusive client access. Useful for shared desktop sessions,
|
|||
where you don't want someone forgetting specify -shared disconnect
|
||||
everybody else. 'ignore' completely ignores the shared flag and
|
||||
allows everybody connect unconditionally. Doesn't conform to the rfb
|
||||
spec but is traditional qemu behavior.
|
||||
spec but is traditional QEMU behavior.
|
||||
|
||||
@end table
|
||||
ETEXI
|
||||
|
@ -1368,7 +1368,7 @@ a guest from a local directory.
|
|||
|
||||
Example (using pxelinux):
|
||||
@example
|
||||
qemu -hda linux.img -boot n -net user,tftp=/path/to/tftp/files,bootfile=/pxelinux.0
|
||||
qemu-system-i386 -hda linux.img -boot n -net user,tftp=/path/to/tftp/files,bootfile=/pxelinux.0
|
||||
@end example
|
||||
|
||||
@item smb=@var{dir}[,smbserver=@var{addr}]
|
||||
|
@ -1403,7 +1403,7 @@ screen 0, use the following:
|
|||
|
||||
@example
|
||||
# on the host
|
||||
qemu -net user,hostfwd=tcp:127.0.0.1:6001-:6000 [...]
|
||||
qemu-system-i386 -net user,hostfwd=tcp:127.0.0.1:6001-:6000 [...]
|
||||
# this host xterm should open in the guest X11 server
|
||||
xterm -display :1
|
||||
@end example
|
||||
|
@ -1413,7 +1413,7 @@ the guest, use the following:
|
|||
|
||||
@example
|
||||
# on the host
|
||||
qemu -net user,hostfwd=tcp::5555-:23 [...]
|
||||
qemu-system-i386 -net user,hostfwd=tcp::5555-:23 [...]
|
||||
telnet localhost 5555
|
||||
@end example
|
||||
|
||||
|
@ -1452,20 +1452,22 @@ Examples:
|
|||
|
||||
@example
|
||||
#launch a QEMU instance with the default network script
|
||||
qemu linux.img -net nic -net tap
|
||||
qemu-system-i386 linux.img -net nic -net tap
|
||||
@end example
|
||||
|
||||
@example
|
||||
#launch a QEMU instance with two NICs, each one connected
|
||||
#to a TAP device
|
||||
qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
|
||||
-net nic,vlan=1 -net tap,vlan=1,ifname=tap1
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
|
||||
-net nic,vlan=1 -net tap,vlan=1,ifname=tap1
|
||||
@end example
|
||||
|
||||
@example
|
||||
#launch a QEMU instance with the default network helper to
|
||||
#connect a TAP device to bridge br0
|
||||
qemu linux.img -net nic -net tap,"helper=/usr/local/libexec/qemu-bridge-helper"
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic -net tap,"helper=/usr/local/libexec/qemu-bridge-helper"
|
||||
@end example
|
||||
|
||||
@item -net bridge[,vlan=@var{n}][,name=@var{name}][,br=@var{bridge}][,helper=@var{helper}]
|
||||
|
@ -1481,13 +1483,13 @@ Examples:
|
|||
@example
|
||||
#launch a QEMU instance with the default network helper to
|
||||
#connect a TAP device to bridge br0
|
||||
qemu linux.img -net bridge -net nic,model=virtio
|
||||
qemu-system-i386 linux.img -net bridge -net nic,model=virtio
|
||||
@end example
|
||||
|
||||
@example
|
||||
#launch a QEMU instance with the default network helper to
|
||||
#connect a TAP device to bridge qemubr0
|
||||
qemu linux.img -net bridge,br=qemubr0 -net nic,model=virtio
|
||||
qemu-system-i386 linux.img -net bridge,br=qemubr0 -net nic,model=virtio
|
||||
@end example
|
||||
|
||||
@item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}] [,listen=[@var{host}]:@var{port}][,connect=@var{host}:@var{port}]
|
||||
|
@ -1502,12 +1504,14 @@ specifies an already opened TCP socket.
|
|||
Example:
|
||||
@example
|
||||
# launch a first QEMU instance
|
||||
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
|
||||
-net socket,listen=:1234
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,macaddr=52:54:00:12:34:56 \
|
||||
-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 \
|
||||
-net socket,connect=127.0.0.1:1234
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,macaddr=52:54:00:12:34:57 \
|
||||
-net socket,connect=127.0.0.1:1234
|
||||
@end example
|
||||
|
||||
@item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,mcast=@var{maddr}:@var{port}[,localaddr=@var{addr}]]
|
||||
|
@ -1530,30 +1534,35 @@ Use @option{fd=h} to specify an already opened UDP multicast socket.
|
|||
Example:
|
||||
@example
|
||||
# launch one QEMU instance
|
||||
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
|
||||
-net socket,mcast=230.0.0.1:1234
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,macaddr=52:54:00:12:34:56 \
|
||||
-net socket,mcast=230.0.0.1:1234
|
||||
# launch another QEMU instance on same "bus"
|
||||
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
|
||||
-net socket,mcast=230.0.0.1:1234
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,macaddr=52:54:00:12:34:57 \
|
||||
-net socket,mcast=230.0.0.1:1234
|
||||
# launch yet another QEMU instance on same "bus"
|
||||
qemu linux.img -net nic,macaddr=52:54:00:12:34:58 \
|
||||
-net socket,mcast=230.0.0.1:1234
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,macaddr=52:54:00:12:34:58 \
|
||||
-net socket,mcast=230.0.0.1:1234
|
||||
@end example
|
||||
|
||||
Example (User Mode Linux compat.):
|
||||
@example
|
||||
# launch QEMU instance (note mcast address selected
|
||||
# is UML's default)
|
||||
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
|
||||
-net socket,mcast=239.192.168.1:1102
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,macaddr=52:54:00:12:34:56 \
|
||||
-net socket,mcast=239.192.168.1:1102
|
||||
# launch UML
|
||||
/path/to/linux ubd0=/path/to/root_fs eth0=mcast
|
||||
@end example
|
||||
|
||||
Example (send packets from host's 1.2.3.4):
|
||||
@example
|
||||
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
|
||||
-net socket,mcast=239.192.168.1:1102,localaddr=1.2.3.4
|
||||
qemu-system-i386 linux.img \
|
||||
-net nic,macaddr=52:54:00:12:34:56 \
|
||||
-net socket,mcast=239.192.168.1:1102,localaddr=1.2.3.4
|
||||
@end example
|
||||
|
||||
@item -net vde[,vlan=@var{n}][,name=@var{name}][,sock=@var{socketpath}] [,port=@var{n}][,group=@var{groupname}][,mode=@var{octalmode}]
|
||||
|
@ -1568,7 +1577,7 @@ Example:
|
|||
# launch vde switch
|
||||
vde_switch -F -sock /tmp/myswitch
|
||||
# launch QEMU instance
|
||||
qemu linux.img -net nic -net vde,sock=/tmp/myswitch
|
||||
qemu-system-i386 linux.img -net nic -net vde,sock=/tmp/myswitch
|
||||
@end example
|
||||
|
||||
@item -net dump[,vlan=@var{n}][,file=@var{file}][,len=@var{len}]
|
||||
|
@ -1791,7 +1800,7 @@ not take any options.
|
|||
@option{pty} is not available on Windows hosts.
|
||||
|
||||
@item -chardev stdio ,id=@var{id} [,signal=on|off]
|
||||
Connect to standard input and standard output of the qemu process.
|
||||
Connect to standard input and standard output of the QEMU process.
|
||||
|
||||
@option{signal} controls if signals are enabled on the terminal, that includes
|
||||
exiting QEMU with the key sequence @key{Control-c}. This option is enabled by
|
||||
|
@ -1853,21 +1862,21 @@ Syntax for specifying iSCSI LUNs is
|
|||
|
||||
Example (without authentication):
|
||||
@example
|
||||
qemu -iscsi initiator-name=iqn.2001-04.com.example:my-initiator \
|
||||
-cdrom iscsi://192.0.2.1/iqn.2001-04.com.example/2 \
|
||||
-drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1
|
||||
qemu-system-i386 -iscsi initiator-name=iqn.2001-04.com.example:my-initiator \
|
||||
-cdrom iscsi://192.0.2.1/iqn.2001-04.com.example/2 \
|
||||
-drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1
|
||||
@end example
|
||||
|
||||
Example (CHAP username/password via URL):
|
||||
@example
|
||||
qemu -drive file=iscsi://user%password@@192.0.2.1/iqn.2001-04.com.example/1
|
||||
qemu-system-i386 -drive file=iscsi://user%password@@192.0.2.1/iqn.2001-04.com.example/1
|
||||
@end example
|
||||
|
||||
Example (CHAP username/password via environment variables):
|
||||
@example
|
||||
LIBISCSI_CHAP_USERNAME="user" \
|
||||
LIBISCSI_CHAP_PASSWORD="password" \
|
||||
qemu -drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1
|
||||
qemu-system-i386 -drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1
|
||||
@end example
|
||||
|
||||
iSCSI support is an optional feature of QEMU and only available when
|
||||
|
@ -1893,12 +1902,12 @@ Syntax for specifying a NBD device using Unix Domain Sockets
|
|||
|
||||
Example for TCP
|
||||
@example
|
||||
qemu --drive file=nbd:192.0.2.1:30000
|
||||
qemu-system-i386 --drive file=nbd:192.0.2.1:30000
|
||||
@end example
|
||||
|
||||
Example for Unix Domain Sockets
|
||||
@example
|
||||
qemu --drive file=nbd:unix:/tmp/nbd-socket
|
||||
qemu-system-i386 --drive file=nbd:unix:/tmp/nbd-socket
|
||||
@end example
|
||||
|
||||
@item Sheepdog
|
||||
|
@ -1923,7 +1932,7 @@ Syntax for specifying a sheepdog device
|
|||
|
||||
Example
|
||||
@example
|
||||
qemu --drive file=sheepdog:192.0.2.1:30000:MyVirtualMachine
|
||||
qemu-system-i386 --drive file=sheepdog:192.0.2.1:30000:MyVirtualMachine
|
||||
@end example
|
||||
|
||||
See also @url{http://http://www.osrg.net/sheepdog/}.
|
||||
|
@ -1986,7 +1995,7 @@ and communicate. Requires the Linux @code{vhci} driver installed. Can
|
|||
be used as following:
|
||||
|
||||
@example
|
||||
qemu [...OPTIONS...] -bt hci,vlan=5 -bt vhci,vlan=5
|
||||
qemu-system-i386 [...OPTIONS...] -bt hci,vlan=5 -bt vhci,vlan=5
|
||||
@end example
|
||||
|
||||
@item -bt device:@var{dev}[,vlan=@var{n}]
|
||||
|
@ -2119,19 +2128,19 @@ they default to @code{0.0.0.0}.
|
|||
When not using a specified @var{src_port} a random port is automatically chosen.
|
||||
|
||||
If you just want a simple readonly console you can use @code{netcat} or
|
||||
@code{nc}, by starting qemu with: @code{-serial udp::4555} and nc as:
|
||||
@code{nc -u -l -p 4555}. Any time qemu writes something to that port it
|
||||
@code{nc}, by starting QEMU with: @code{-serial udp::4555} and nc as:
|
||||
@code{nc -u -l -p 4555}. 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
|
||||
and start QEMU a lot of times, you should have QEMU use the same
|
||||
source port each time by using something like @code{-serial
|
||||
udp::4555@@:4556} to qemu. Another approach is to use a patched
|
||||
udp::4555@@:4556} to QEMU. Another approach is to use a patched
|
||||
version of netcat which can listen to a TCP 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.
|
||||
telnet on port 5555 to access the QEMU port.
|
||||
@table @code
|
||||
@item QEMU Options:
|
||||
-serial udp::4555@@:4556
|
||||
|
@ -2286,10 +2295,10 @@ STEXI
|
|||
@findex -gdb
|
||||
Wait for gdb connection on device @var{dev} (@pxref{gdb_usage}). Typical
|
||||
connections will likely be TCP-based, but also UDP, pseudo TTY, or even
|
||||
stdio are reasonable use case. The latter is allowing to start qemu from
|
||||
stdio are reasonable use case. The latter is allowing to start QEMU from
|
||||
within gdb and establish the connection via a pipe:
|
||||
@example
|
||||
(gdb) target remote | exec qemu -gdb stdio ...
|
||||
(gdb) target remote | exec qemu-system-i386 -gdb stdio ...
|
||||
@end example
|
||||
ETEXI
|
||||
|
||||
|
@ -2316,15 +2325,15 @@ DEF("D", HAS_ARG, QEMU_OPTION_D, \
|
|||
"-D logfile output log to logfile (instead of the default /tmp/qemu.log)\n",
|
||||
QEMU_ARCH_ALL)
|
||||
STEXI
|
||||
@item -D
|
||||
@item -D @var{logfile}
|
||||
@findex -D
|
||||
Output log in logfile instead of /tmp/qemu.log
|
||||
Output log in @var{logfile} instead of /tmp/qemu.log
|
||||
ETEXI
|
||||
|
||||
DEF("hdachs", HAS_ARG, QEMU_OPTION_hdachs, \
|
||||
"-hdachs c,h,s[,t]\n" \
|
||||
" force hard disk 0 physical geometry and the optional BIOS\n" \
|
||||
" translation (t=none or lba) (usually qemu can guess them)\n",
|
||||
" translation (t=none or lba) (usually QEMU can guess them)\n",
|
||||
QEMU_ARCH_ALL)
|
||||
STEXI
|
||||
@item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
|
||||
|
@ -2370,7 +2379,7 @@ DEF("xen-create", 0, QEMU_OPTION_xen_create,
|
|||
QEMU_ARCH_ALL)
|
||||
DEF("xen-attach", 0, QEMU_OPTION_xen_attach,
|
||||
"-xen-attach attach to existing xen domain\n"
|
||||
" xend will use this when starting qemu\n",
|
||||
" xend will use this when starting QEMU\n",
|
||||
QEMU_ARCH_ALL)
|
||||
STEXI
|
||||
@item -xen-domid @var{id}
|
||||
|
@ -2383,7 +2392,7 @@ Warning: should not be used when xend is in use (XEN only).
|
|||
@item -xen-attach
|
||||
@findex -xen-attach
|
||||
Attach to existing xen domain.
|
||||
xend will use this when starting qemu (XEN only).
|
||||
xend will use this when starting QEMU (XEN only).
|
||||
ETEXI
|
||||
|
||||
DEF("no-reboot", 0, QEMU_OPTION_no_reboot, \
|
||||
|
|
|
@ -635,8 +635,7 @@ static int mm_start_timer(struct qemu_alarm_timer *t)
|
|||
TIME_ONESHOT | TIME_CALLBACK_FUNCTION);
|
||||
|
||||
if (!mm_timer) {
|
||||
fprintf(stderr, "Failed to initialize win32 alarm timer: %ld\n",
|
||||
GetLastError());
|
||||
fprintf(stderr, "Failed to initialize win32 alarm timer\n");
|
||||
timeEndPeriod(mm_tc.wPeriodMin);
|
||||
return -1;
|
||||
}
|
||||
|
@ -667,9 +666,7 @@ static void mm_rearm_timer(struct qemu_alarm_timer *t, int64_t delta)
|
|||
TIME_ONESHOT | TIME_CALLBACK_FUNCTION);
|
||||
|
||||
if (!mm_timer) {
|
||||
fprintf(stderr, "Failed to re-arm win32 alarm timer %ld\n",
|
||||
GetLastError());
|
||||
|
||||
fprintf(stderr, "Failed to re-arm win32 alarm timer\n");
|
||||
timeEndPeriod(mm_tc.wPeriodMin);
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
@ -487,7 +487,7 @@ int64_t qmp_guest_fsfreeze_thaw(Error **err)
|
|||
* was returned the filesystem was *not* unfrozen by that particular
|
||||
* call.
|
||||
*
|
||||
* since multiple preceeding FIFREEZEs require multiple calls to FITHAW
|
||||
* since multiple preceding FIFREEZEs require multiple calls to FITHAW
|
||||
* to unfreeze, continuing issuing FITHAW until an error is returned,
|
||||
* in which case either the filesystem is in an unfreezable state, or,
|
||||
* more likely, it was thawed previously (and remains so afterward).
|
||||
|
@ -789,7 +789,7 @@ GuestNetworkInterfaceList *qmp_guest_network_get_interfaces(Error **errp)
|
|||
strncpy(ifr.ifr_name, info->value->name, IF_NAMESIZE);
|
||||
if (ioctl(sock, SIOCGIFHWADDR, &ifr) == -1) {
|
||||
snprintf(err_msg, sizeof(err_msg),
|
||||
"failed to get MAC addres of %s: %s",
|
||||
"failed to get MAC address of %s: %s",
|
||||
ifa->ifa_name,
|
||||
strerror(errno));
|
||||
error_set(errp, QERR_QGA_COMMAND_FAILED, err_msg);
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* When running qemu-linux-user with the -p flag, you may need to tell
|
||||
* this test program about the pagesize because getpagesize() will not reflect
|
||||
* the -p choice. Simply pass one argument beeing the pagesize.
|
||||
* the -p choice. Simply pass one argument being the pagesize.
|
||||
*
|
||||
* Copyright (c) 2007 AXIS Communications AB
|
||||
* Written by Edgar E. Iglesias.
|
||||
|
|
Loading…
Reference in New Issue