224 |
224 |
@var{disk_image} is a raw hard disk image for IDE hard disk 0. Some
|
225 |
225 |
targets do not need a disk image.
|
226 |
226 |
|
227 |
|
General options:
|
228 |
|
@table @option
|
229 |
|
@item -h
|
230 |
|
Display help and exit
|
231 |
|
|
232 |
|
@item -M @var{machine}
|
233 |
|
Select the emulated @var{machine} (@code{-M ?} for list)
|
234 |
|
|
235 |
|
@item -cpu @var{model}
|
236 |
|
Select CPU model (-cpu ? for list and additional feature selection)
|
237 |
|
|
238 |
|
@item -smp @var{n}
|
239 |
|
Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
|
240 |
|
CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
|
241 |
|
to 4.
|
242 |
|
|
243 |
|
@item -fda @var{file}
|
244 |
|
@item -fdb @var{file}
|
245 |
|
Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can
|
246 |
|
use the host floppy by using @file{/dev/fd0} as filename (@pxref{host_drives}).
|
247 |
|
|
248 |
|
@item -hda @var{file}
|
249 |
|
@item -hdb @var{file}
|
250 |
|
@item -hdc @var{file}
|
251 |
|
@item -hdd @var{file}
|
252 |
|
Use @var{file} as hard disk 0, 1, 2 or 3 image (@pxref{disk_images}).
|
253 |
|
|
254 |
|
@item -cdrom @var{file}
|
255 |
|
Use @var{file} as CD-ROM image (you cannot use @option{-hdc} and
|
256 |
|
@option{-cdrom} at the same time). You can use the host CD-ROM by
|
257 |
|
using @file{/dev/cdrom} as filename (@pxref{host_drives}).
|
258 |
|
|
259 |
|
@item -drive @var{option}[,@var{option}[,@var{option}[,...]]]
|
260 |
|
|
261 |
|
Define a new drive. Valid options are:
|
262 |
|
|
263 |
|
@table @code
|
264 |
|
@item file=@var{file}
|
265 |
|
This option defines which disk image (@pxref{disk_images}) to use with
|
266 |
|
this drive. If the filename contains comma, you must double it
|
267 |
|
(for instance, "file=my,,file" to use file "my,file").
|
268 |
|
@item if=@var{interface}
|
269 |
|
This option defines on which type on interface the drive is connected.
|
270 |
|
Available types are: ide, scsi, sd, mtd, floppy, pflash, virtio.
|
271 |
|
@item bus=@var{bus},unit=@var{unit}
|
272 |
|
These options define where is connected the drive by defining the bus number and
|
273 |
|
the unit id.
|
274 |
|
@item index=@var{index}
|
275 |
|
This option defines where is connected the drive by using an index in the list
|
276 |
|
of available connectors of a given interface type.
|
277 |
|
@item media=@var{media}
|
278 |
|
This option defines the type of the media: disk or cdrom.
|
279 |
|
@item cyls=@var{c},heads=@var{h},secs=@var{s}[,trans=@var{t}]
|
280 |
|
These options have the same definition as they have in @option{-hdachs}.
|
281 |
|
@item snapshot=@var{snapshot}
|
282 |
|
@var{snapshot} is "on" or "off" and allows to enable snapshot for given drive (see @option{-snapshot}).
|
283 |
|
@item cache=@var{cache}
|
284 |
|
@var{cache} is "none", "writeback", or "writethrough" and controls how the host cache is used to access block data.
|
285 |
|
@item format=@var{format}
|
286 |
|
Specify which disk @var{format} will be used rather than detecting
|
287 |
|
the format. Can be used to specifiy format=raw to avoid interpreting
|
288 |
|
an untrusted format header.
|
289 |
|
@item serial=@var{serial}
|
290 |
|
This option specifies the serial number to assign to the device.
|
291 |
|
@end table
|
292 |
|
|
293 |
|
By default, writethrough caching is used for all block device. This means that
|
294 |
|
the host page cache will be used to read and write data but write notification
|
295 |
|
will be sent to the guest only when the data has been reported as written by
|
296 |
|
the storage subsystem.
|
297 |
|
|
298 |
|
Writeback caching will report data writes as completed as soon as the data is
|
299 |
|
present in the host page cache. This is safe as long as you trust your host.
|
300 |
|
If your host crashes or loses power, then the guest may experience data
|
301 |
|
corruption. When using the @option{-snapshot} option, writeback caching is
|
302 |
|
used by default.
|
303 |
|
|
304 |
|
The host page can be avoided entirely with @option{cache=none}. This will
|
305 |
|
attempt to do disk IO directly to the guests memory. QEMU may still perform
|
306 |
|
an internal copy of the data.
|
307 |
|
|
308 |
|
Some block drivers perform badly with @option{cache=writethrough}, most notably,
|
309 |
|
qcow2. If performance is more important than correctness,
|
310 |
|
@option{cache=writeback} should be used with qcow2. By default, if no explicit
|
311 |
|
caching is specified for a qcow2 disk image, @option{cache=writeback} will be
|
312 |
|
used. For all other disk types, @option{cache=writethrough} is the default.
|
313 |
|
|
314 |
|
Instead of @option{-cdrom} you can use:
|
315 |
|
@example
|
316 |
|
qemu -drive file=file,index=2,media=cdrom
|
317 |
|
@end example
|
318 |
|
|
319 |
|
Instead of @option{-hda}, @option{-hdb}, @option{-hdc}, @option{-hdd}, you can
|
320 |
|
use:
|
321 |
|
@example
|
322 |
|
qemu -drive file=file,index=0,media=disk
|
323 |
|
qemu -drive file=file,index=1,media=disk
|
324 |
|
qemu -drive file=file,index=2,media=disk
|
325 |
|
qemu -drive file=file,index=3,media=disk
|
326 |
|
@end example
|
327 |
|
|
328 |
|
You can connect a CDROM to the slave of ide0:
|
329 |
|
@example
|
330 |
|
qemu -drive file=file,if=ide,index=1,media=cdrom
|
331 |
|
@end example
|
332 |
|
|
333 |
|
If you don't specify the "file=" argument, you define an empty drive:
|
334 |
|
@example
|
335 |
|
qemu -drive if=ide,index=1,media=cdrom
|
336 |
|
@end example
|
337 |
|
|
338 |
|
You can connect a SCSI disk with unit ID 6 on the bus #0:
|
339 |
|
@example
|
340 |
|
qemu -drive file=file,if=scsi,bus=0,unit=6
|
341 |
|
@end example
|
342 |
|
|
343 |
|
Instead of @option{-fda}, @option{-fdb}, you can use:
|
344 |
|
@example
|
345 |
|
qemu -drive file=file,index=0,if=floppy
|
346 |
|
qemu -drive file=file,index=1,if=floppy
|
347 |
|
@end example
|
348 |
|
|
349 |
|
By default, @var{interface} is "ide" and @var{index} is automatically
|
350 |
|
incremented:
|
351 |
|
@example
|
352 |
|
qemu -drive file=a -drive file=b"
|
353 |
|
@end example
|
354 |
|
is interpreted like:
|
355 |
|
@example
|
356 |
|
qemu -hda a -hdb b
|
357 |
|
@end example
|
358 |
|
|
359 |
|
@item -mtdblock file
|
360 |
|
Use 'file' as on-board Flash memory image.
|
361 |
|
|
362 |
|
@item -sd file
|
363 |
|
Use 'file' as SecureDigital card image.
|
364 |
|
|
365 |
|
@item -pflash file
|
366 |
|
Use 'file' as a parallel flash image.
|
367 |
|
|
368 |
|
@item -boot [a|c|d|n]
|
369 |
|
Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot
|
370 |
|
is the default.
|
371 |
|
|
372 |
|
@item -snapshot
|
373 |
|
Write to temporary files instead of disk image files. In this case,
|
374 |
|
the raw disk image you use is not written back. You can however force
|
375 |
|
the write back by pressing @key{C-a s} (@pxref{disk_images}).
|
376 |
|
|
377 |
|
@item -m @var{megs}
|
378 |
|
Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
|
379 |
|
a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
|
380 |
|
gigabytes respectively.
|
381 |
|
|
382 |
|
@item -k @var{language}
|
383 |
|
|
384 |
|
Use keyboard layout @var{language} (for example @code{fr} for
|
385 |
|
French). This option is only needed where it is not easy to get raw PC
|
386 |
|
keycodes (e.g. on Macs, with some X11 servers or with a VNC
|
387 |
|
display). You don't normally need to use it on PC/Linux or PC/Windows
|
388 |
|
hosts.
|
389 |
|
|
390 |
|
The available layouts are:
|
391 |
|
@example
|
392 |
|
ar de-ch es fo fr-ca hu ja mk no pt-br sv
|
393 |
|
da en-gb et fr fr-ch is lt nl pl ru th
|
394 |
|
de en-us fi fr-be hr it lv nl-be pt sl tr
|
395 |
|
@end example
|
396 |
|
|
397 |
|
The default is @code{en-us}.
|
398 |
|
|
399 |
|
@item -audio-help
|
400 |
|
|
401 |
|
Will show the audio subsystem help: list of drivers, tunable
|
402 |
|
parameters.
|
403 |
|
|
404 |
|
@item -soundhw @var{card1}[,@var{card2},...] or -soundhw all
|
405 |
|
|
406 |
|
Enable audio and selected sound hardware. Use ? to print all
|
407 |
|
available sound hardware.
|
408 |
|
|
409 |
|
@example
|
410 |
|
qemu -soundhw sb16,adlib disk.img
|
411 |
|
qemu -soundhw es1370 disk.img
|
412 |
|
qemu -soundhw ac97 disk.img
|
413 |
|
qemu -soundhw all disk.img
|
414 |
|
qemu -soundhw ?
|
415 |
|
@end example
|
416 |
|
|
417 |
|
Note that Linux's i810_audio OSS kernel (for AC97) module might
|
418 |
|
require manually specifying clocking.
|
419 |
|
|
420 |
|
@example
|
421 |
|
modprobe i810_audio clocking=48000
|
422 |
|
@end example
|
423 |
|
|
424 |
|
@end table
|
425 |
|
|
426 |
|
USB options:
|
427 |
|
@table @option
|
428 |
|
|
429 |
|
@item -usb
|
430 |
|
Enable the USB driver (will be the default soon)
|
431 |
|
|
432 |
|
@item -usbdevice @var{devname}
|
433 |
|
Add the USB device @var{devname}. @xref{usb_devices}.
|
434 |
|
|
435 |
|
@table @code
|
436 |
|
|
437 |
|
@item mouse
|
438 |
|
Virtual Mouse. This will override the PS/2 mouse emulation when activated.
|
439 |
|
|
440 |
|
@item tablet
|
441 |
|
Pointer device that uses absolute coordinates (like a touchscreen). This
|
442 |
|
means qemu is able to report the mouse position without having to grab the
|
443 |
|
mouse. Also overrides the PS/2 mouse emulation when activated.
|
444 |
|
|
445 |
|
@item disk:[format=@var{format}]:file
|
446 |
|
Mass storage device based on file. The optional @var{format} argument
|
447 |
|
will be used rather than detecting the format. Can be used to specifiy
|
448 |
|
format=raw to avoid interpreting an untrusted format header.
|
449 |
|
|
450 |
|
@item host:bus.addr
|
451 |
|
Pass through the host device identified by bus.addr (Linux only).
|
452 |
|
|
453 |
|
@item host:vendor_id:product_id
|
454 |
|
Pass through the host device identified by vendor_id:product_id (Linux only).
|
455 |
|
|
456 |
|
@item serial:[vendorid=@var{vendor_id}][,productid=@var{product_id}]:@var{dev}
|
457 |
|
Serial converter to host character device @var{dev}, see @code{-serial} for the
|
458 |
|
available devices.
|
459 |
|
|
460 |
|
@item braille
|
461 |
|
Braille device. This will use BrlAPI to display the braille output on a real
|
462 |
|
or fake device.
|
463 |
|
|
464 |
|
@item net:options
|
465 |
|
Network adapter that supports CDC ethernet and RNDIS protocols.
|
466 |
|
|
467 |
|
@end table
|
468 |
|
|
469 |
|
@item -name @var{name}
|
470 |
|
Sets the @var{name} of the guest.
|
471 |
|
This name will be displayed in the SDL window caption.
|
472 |
|
The @var{name} will also be used for the VNC server.
|
473 |
|
|
474 |
|
@item -uuid @var{uuid}
|
475 |
|
Set system UUID.
|
476 |
|
|
477 |
|
@end table
|
478 |
|
|
479 |
|
Display options:
|
480 |
|
@table @option
|
481 |
|
|
482 |
|
@item -nographic
|
483 |
|
|
484 |
|
Normally, QEMU uses SDL to display the VGA output. With this option,
|
485 |
|
you can totally disable graphical output so that QEMU is a simple
|
486 |
|
command line application. The emulated serial port is redirected on
|
487 |
|
the console. Therefore, you can still use QEMU to debug a Linux kernel
|
488 |
|
with a serial console.
|
489 |
|
|
490 |
|
@item -curses
|
491 |
|
|
492 |
|
Normally, QEMU uses SDL to display the VGA output. With this option,
|
493 |
|
QEMU can display the VGA output when in text mode using a
|
494 |
|
curses/ncurses interface. Nothing is displayed in graphical mode.
|
495 |
|
|
496 |
|
@item -no-frame
|
497 |
|
|
498 |
|
Do not use decorations for SDL windows and start them using the whole
|
499 |
|
available screen space. This makes the using QEMU in a dedicated desktop
|
500 |
|
workspace more convenient.
|
501 |
|
|
502 |
|
@item -alt-grab
|
503 |
|
|
504 |
|
Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt).
|
505 |
|
|
506 |
|
@item -no-quit
|
507 |
|
|
508 |
|
Disable SDL window close capability.
|
509 |
|
|
510 |
|
@item -sdl
|
511 |
|
|
512 |
|
Enable SDL.
|
513 |
|
|
514 |
|
@item -portrait
|
515 |
|
|
516 |
|
Rotate graphical output 90 deg left (only PXA LCD).
|
517 |
|
|
518 |
|
@item -vga @var{type}
|
519 |
|
Select type of VGA card to emulate. Valid values for @var{type} are
|
520 |
|
@table @code
|
521 |
|
@item cirrus
|
522 |
|
Cirrus Logic GD5446 Video card. All Windows versions starting from
|
523 |
|
Windows 95 should recognize and use this graphic card. For optimal
|
524 |
|
performances, use 16 bit color depth in the guest and the host OS.
|
525 |
|
(This one is the default)
|
526 |
|
@item std
|
527 |
|
Standard VGA card with Bochs VBE extensions. If your guest OS
|
528 |
|
supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
|
529 |
|
to use high resolution modes (>= 1280x1024x16) then you should use
|
530 |
|
this option.
|
531 |
|
@item vmware
|
532 |
|
VMWare SVGA-II compatible adapter. Use it if you have sufficiently
|
533 |
|
recent XFree86/XOrg server or Windows guest with a driver for this
|
534 |
|
card.
|
535 |
|
@item none
|
536 |
|
Disable VGA card.
|
537 |
|
@end table
|
538 |
|
|
539 |
|
@item -full-screen
|
540 |
|
Start in full screen.
|
541 |
|
|
542 |
|
@item -vnc @var{display}[,@var{option}[,@var{option}[,...]]]
|
543 |
|
|
544 |
|
Normally, QEMU uses SDL to display the VGA output. With this option,
|
545 |
|
you can have QEMU listen on VNC display @var{display} and redirect the VGA
|
546 |
|
display over the VNC session. It is very useful to enable the usb
|
547 |
|
tablet device when using this option (option @option{-usbdevice
|
548 |
|
tablet}). When using the VNC display, you must use the @option{-k}
|
549 |
|
parameter to set the keyboard layout if you are not using en-us. Valid
|
550 |
|
syntax for the @var{display} is
|
551 |
|
|
552 |
|
@table @code
|
553 |
|
|
554 |
|
@item @var{host}:@var{d}
|
555 |
|
|
556 |
|
TCP connections will only be allowed from @var{host} on display @var{d}.
|
557 |
|
By convention the TCP port is 5900+@var{d}. Optionally, @var{host} can
|
558 |
|
be omitted in which case the server will accept connections from any host.
|
559 |
|
|
560 |
|
@item @code{unix}:@var{path}
|
561 |
|
|
562 |
|
Connections will be allowed over UNIX domain sockets where @var{path} is the
|
563 |
|
location of a unix socket to listen for connections on.
|
564 |
|
|
565 |
|
@item none
|
566 |
|
|
567 |
|
VNC is initialized but not started. The monitor @code{change} command
|
568 |
|
can be used to later start the VNC server.
|
569 |
|
|
570 |
|
@end table
|
571 |
|
|
572 |
|
Following the @var{display} value there may be one or more @var{option} flags
|
573 |
|
separated by commas. Valid options are
|
574 |
|
|
575 |
|
@table @code
|
576 |
|
|
577 |
|
@item reverse
|
578 |
|
|
579 |
|
Connect to a listening VNC client via a ``reverse'' connection. The
|
580 |
|
client is specified by the @var{display}. For reverse network
|
581 |
|
connections (@var{host}:@var{d},@code{reverse}), the @var{d} argument
|
582 |
|
is a TCP port number, not a display number.
|
583 |
|
|
584 |
|
@item password
|
585 |
|
|
586 |
|
Require that password based authentication is used for client connections.
|
587 |
|
The password must be set separately using the @code{change} command in the
|
588 |
|
@ref{pcsys_monitor}
|
589 |
|
|
590 |
|
@item tls
|
591 |
|
|
592 |
|
Require that client use TLS when communicating with the VNC server. This
|
593 |
|
uses anonymous TLS credentials so is susceptible to a man-in-the-middle
|
594 |
|
attack. It is recommended that this option be combined with either the
|
595 |
|
@var{x509} or @var{x509verify} options.
|
596 |
|
|
597 |
|
@item x509=@var{/path/to/certificate/dir}
|
598 |
|
|
599 |
|
Valid if @option{tls} is specified. Require that x509 credentials are used
|
600 |
|
for negotiating the TLS session. The server will send its x509 certificate
|
601 |
|
to the client. It is recommended that a password be set on the VNC server
|
602 |
|
to provide authentication of the client when this is used. The path following
|
603 |
|
this option specifies where the x509 certificates are to be loaded from.
|
604 |
|
See the @ref{vnc_security} section for details on generating certificates.
|
605 |
|
|
606 |
|
@item x509verify=@var{/path/to/certificate/dir}
|
607 |
|
|
608 |
|
Valid if @option{tls} is specified. Require that x509 credentials are used
|
609 |
|
for negotiating the TLS session. The server will send its x509 certificate
|
610 |
|
to the client, and request that the client send its own x509 certificate.
|
611 |
|
The server will validate the client's certificate against the CA certificate,
|
612 |
|
and reject clients when validation fails. If the certificate authority is
|
613 |
|
trusted, this is a sufficient authentication mechanism. You may still wish
|
614 |
|
to set a password on the VNC server as a second authentication layer. The
|
615 |
|
path following this option specifies where the x509 certificates are to
|
616 |
|
be loaded from. See the @ref{vnc_security} section for details on generating
|
617 |
|
certificates.
|
618 |
|
|
619 |
|
@item sasl
|
620 |
|
|
621 |
|
Require that the client use SASL to authenticate with the VNC server.
|
622 |
|
The exact choice of authentication method used is controlled from the
|
623 |
|
system / user's SASL configuration file for the 'qemu' service. This
|
624 |
|
is typically found in /etc/sasl2/qemu.conf. If running QEMU as an
|
625 |
|
unprivileged user, an environment variable SASL_CONF_PATH can be used
|
626 |
|
to make it search alternate locations for the service config.
|
627 |
|
While some SASL auth methods can also provide data encryption (eg GSSAPI),
|
628 |
|
it is recommended that SASL always be combined with the 'tls' and
|
629 |
|
'x509' settings to enable use of SSL and server certificates. This
|
630 |
|
ensures a data encryption preventing compromise of authentication
|
631 |
|
credentials. See the @ref{vnc_security} section for details on using
|
632 |
|
SASL authentication.
|
633 |
|
|
634 |
|
@item acl
|
635 |
|
|
636 |
|
Turn on access control lists for checking of the x509 client certificate
|
637 |
|
and SASL party. For x509 certs, the ACL check is made against the
|
638 |
|
certificate's distinguished name. This is something that looks like
|
639 |
|
@code{C=GB,O=ACME,L=Boston,CN=bob}. For SASL party, the ACL check is
|
640 |
|
made against the username, which depending on the SASL plugin, may
|
641 |
|
include a realm component, eg @code{bob} or @code{bob@@EXAMPLE.COM}.
|
642 |
|
When the @option{acl} flag is set, the initial access list will be
|
643 |
|
empty, with a @code{deny} policy. Thus no one will be allowed to
|
644 |
|
use the VNC server until the ACLs have been loaded. This can be
|
645 |
|
achieved using the @code{acl} monitor command.
|
646 |
|
|
647 |
|
@end table
|
648 |
|
|
649 |
|
@end table
|
650 |
|
|
651 |
|
Network options:
|
652 |
|
|
653 |
|
@table @option
|
654 |
|
|
655 |
|
@item -net nic[,vlan=@var{n}][,macaddr=@var{addr}][,model=@var{type}][,name=@var{name}]
|
656 |
|
Create a new Network Interface Card and connect it to VLAN @var{n} (@var{n}
|
657 |
|
= 0 is the default). The NIC is an ne2k_pci by default on the PC
|
658 |
|
target. Optionally, the MAC address can be changed to @var{addr}
|
659 |
|
and a @var{name} can be assigned for use in monitor commands. If no
|
660 |
|
@option{-net} option is specified, a single NIC is created.
|
661 |
|
Qemu can emulate several different models of network card.
|
662 |
|
Valid values for @var{type} are
|
663 |
|
@code{i82551}, @code{i82557b}, @code{i82559er},
|
664 |
|
@code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139},
|
665 |
|
@code{e1000}, @code{smc91c111}, @code{lance} and @code{mcf_fec}.
|
666 |
|
Not all devices are supported on all targets. Use -net nic,model=?
|
667 |
|
for a list of available devices for your target.
|
668 |
|
|
669 |
|
@item -net user[,vlan=@var{n}][,hostname=@var{name}][,name=@var{name}]
|
670 |
|
Use the user mode network stack which requires no administrator
|
671 |
|
privilege to run. @option{hostname=name} can be used to specify the client
|
672 |
|
hostname reported by the builtin DHCP server.
|
673 |
|
|
674 |
|
@item -net channel,@var{port}:@var{dev}
|
675 |
|
Forward @option{user} TCP connection to port @var{port} to character device @var{dev}
|
676 |
|
|
677 |
|
@item -net tap[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,ifname=@var{name}][,script=@var{file}][,downscript=@var{dfile}]
|
678 |
|
Connect the host TAP network interface @var{name} to VLAN @var{n}, use
|
679 |
|
the network script @var{file} to configure it and the network script
|
680 |
|
@var{dfile} to deconfigure it. If @var{name} is not provided, the OS
|
681 |
|
automatically provides one. @option{fd}=@var{h} can be used to specify
|
682 |
|
the handle of an already opened host TAP interface. The default network
|
683 |
|
configure script is @file{/etc/qemu-ifup} and the default network
|
684 |
|
deconfigure script is @file{/etc/qemu-ifdown}. Use @option{script=no}
|
685 |
|
or @option{downscript=no} to disable script execution. Example:
|
686 |
|
|
687 |
|
@example
|
688 |
|
qemu linux.img -net nic -net tap
|
689 |
|
@end example
|
690 |
|
|
691 |
|
More complicated example (two NICs, each one connected to a TAP device)
|
692 |
|
@example
|
693 |
|
qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
|
694 |
|
-net nic,vlan=1 -net tap,vlan=1,ifname=tap1
|
695 |
|
@end example
|
696 |
|
|
697 |
|
|
698 |
|
@item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,listen=[@var{host}]:@var{port}][,connect=@var{host}:@var{port}]
|
699 |
|
|
700 |
|
Connect the VLAN @var{n} to a remote VLAN in another QEMU virtual
|
701 |
|
machine using a TCP socket connection. If @option{listen} is
|
702 |
|
specified, QEMU waits for incoming connections on @var{port}
|
703 |
|
(@var{host} is optional). @option{connect} is used to connect to
|
704 |
|
another QEMU instance using the @option{listen} option. @option{fd}=@var{h}
|
705 |
|
specifies an already opened TCP socket.
|
706 |
|
|
707 |
|
Example:
|
708 |
|
@example
|
709 |
|
# launch a first QEMU instance
|
710 |
|
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
|
711 |
|
-net socket,listen=:1234
|
712 |
|
# connect the VLAN 0 of this instance to the VLAN 0
|
713 |
|
# of the first instance
|
714 |
|
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
|
715 |
|
-net socket,connect=127.0.0.1:1234
|
716 |
|
@end example
|
717 |
|
|
718 |
|
@item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,mcast=@var{maddr}:@var{port}]
|
719 |
|
|
720 |
|
Create a VLAN @var{n} shared with another QEMU virtual
|
721 |
|
machines using a UDP multicast socket, effectively making a bus for
|
722 |
|
every QEMU with same multicast address @var{maddr} and @var{port}.
|
723 |
|
NOTES:
|
724 |
|
@enumerate
|
725 |
|
@item
|
726 |
|
Several QEMU can be running on different hosts and share same bus (assuming
|
727 |
|
correct multicast setup for these hosts).
|
728 |
|
@item
|
729 |
|
mcast support is compatible with User Mode Linux (argument @option{eth@var{N}=mcast}), see
|
730 |
|
@url{http://user-mode-linux.sf.net}.
|
731 |
|
@item
|
732 |
|
Use @option{fd=h} to specify an already opened UDP multicast socket.
|
733 |
|
@end enumerate
|
734 |
|
|
735 |
|
Example:
|
736 |
|
@example
|
737 |
|
# launch one QEMU instance
|
738 |
|
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
|
739 |
|
-net socket,mcast=230.0.0.1:1234
|
740 |
|
# launch another QEMU instance on same "bus"
|
741 |
|
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
|
742 |
|
-net socket,mcast=230.0.0.1:1234
|
743 |
|
# launch yet another QEMU instance on same "bus"
|
744 |
|
qemu linux.img -net nic,macaddr=52:54:00:12:34:58 \
|
745 |
|
-net socket,mcast=230.0.0.1:1234
|
746 |
|
@end example
|
747 |
|
|
748 |
|
Example (User Mode Linux compat.):
|
749 |
|
@example
|
750 |
|
# launch QEMU instance (note mcast address selected
|
751 |
|
# is UML's default)
|
752 |
|
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
|
753 |
|
-net socket,mcast=239.192.168.1:1102
|
754 |
|
# launch UML
|
755 |
|
/path/to/linux ubd0=/path/to/root_fs eth0=mcast
|
756 |
|
@end example
|
757 |
|
|
758 |
|
@item -net vde[,vlan=@var{n}][,name=@var{name}][,sock=@var{socketpath}][,port=@var{n}][,group=@var{groupname}][,mode=@var{octalmode}]
|
759 |
|
Connect VLAN @var{n} to PORT @var{n} of a vde switch running on host and
|
760 |
|
listening for incoming connections on @var{socketpath}. Use GROUP @var{groupname}
|
761 |
|
and MODE @var{octalmode} to change default ownership and permissions for
|
762 |
|
communication port. This option is available only if QEMU has been compiled
|
763 |
|
with vde support enabled.
|
764 |
|
|
765 |
|
Example:
|
766 |
|
@example
|
767 |
|
# launch vde switch
|
768 |
|
vde_switch -F -sock /tmp/myswitch
|
769 |
|
# launch QEMU instance
|
770 |
|
qemu linux.img -net nic -net vde,sock=/tmp/myswitch
|
771 |
|
@end example
|
772 |
|
|
773 |
|
@item -net none
|
774 |
|
Indicate that no network devices should be configured. It is used to
|
775 |
|
override the default configuration (@option{-net nic -net user}) which
|
776 |
|
is activated if no @option{-net} options are provided.
|
777 |
|
|
778 |
|
@item -tftp @var{dir}
|
779 |
|
When using the user mode network stack, activate a built-in TFTP
|
780 |
|
server. The files in @var{dir} will be exposed as the root of a TFTP server.
|
781 |
|
The TFTP client on the guest must be configured in binary mode (use the command
|
782 |
|
@code{bin} of the Unix TFTP client). The host IP address on the guest is as
|
783 |
|
usual 10.0.2.2.
|
784 |
|
|
785 |
|
@item -bootp @var{file}
|
786 |
|
When using the user mode network stack, broadcast @var{file} as the BOOTP
|
787 |
|
filename. In conjunction with @option{-tftp}, this can be used to network boot
|
788 |
|
a guest from a local directory.
|
789 |
|
|
790 |
|
Example (using pxelinux):
|
791 |
|
@example
|
792 |
|
qemu -hda linux.img -boot n -tftp /path/to/tftp/files -bootp /pxelinux.0
|
793 |
|
@end example
|
794 |
|
|
795 |
|
@item -smb @var{dir}
|
796 |
|
When using the user mode network stack, activate a built-in SMB
|
797 |
|
server so that Windows OSes can access to the host files in @file{@var{dir}}
|
798 |
|
transparently.
|
799 |
|
|
800 |
|
In the guest Windows OS, the line:
|
801 |
|
@example
|
802 |
|
10.0.2.4 smbserver
|
803 |
|
@end example
|
804 |
|
must be added in the file @file{C:\WINDOWS\LMHOSTS} (for windows 9x/Me)
|
805 |
|
or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS} (Windows NT/2000).
|
806 |
|
|
807 |
|
Then @file{@var{dir}} can be accessed in @file{\\smbserver\qemu}.
|
808 |
|
|
809 |
|
Note that a SAMBA server must be installed on the host OS in
|
810 |
|
@file{/usr/sbin/smbd}. QEMU was tested successfully with smbd version
|
811 |
|
2.2.7a from the Red Hat 9 and version 3.0.10-1.fc3 from Fedora Core 3.
|
812 |
|
|
813 |
|
@item -redir [tcp|udp]:@var{host-port}:[@var{guest-host}]:@var{guest-port}
|
814 |
|
|
815 |
|
When using the user mode network stack, redirect incoming TCP or UDP
|
816 |
|
connections to the host port @var{host-port} to the guest
|
817 |
|
@var{guest-host} on guest port @var{guest-port}. If @var{guest-host}
|
818 |
|
is not specified, its value is 10.0.2.15 (default address given by the
|
819 |
|
built-in DHCP server).
|
820 |
|
|
821 |
|
For example, to redirect host X11 connection from screen 1 to guest
|
822 |
|
screen 0, use the following:
|
823 |
|
|
824 |
|
@example
|
825 |
|
# on the host
|
826 |
|
qemu -redir tcp:6001::6000 [...]
|
827 |
|
# this host xterm should open in the guest X11 server
|
828 |
|
xterm -display :1
|
829 |
|
@end example
|
830 |
|
|
831 |
|
To redirect telnet connections from host port 5555 to telnet port on
|
832 |
|
the guest, use the following:
|
833 |
|
|
834 |
|
@example
|
835 |
|
# on the host
|
836 |
|
qemu -redir tcp:5555::23 [...]
|
837 |
|
telnet localhost 5555
|
838 |
|
@end example
|
839 |
|
|
840 |
|
Then when you use on the host @code{telnet localhost 5555}, you
|
841 |
|
connect to the guest telnet server.
|
842 |
|
|
843 |
|
@end table
|
844 |
|
|
845 |
|
Bluetooth(R) options:
|
846 |
|
@table @option
|
847 |
|
|
848 |
|
@item -bt hci[...]
|
849 |
|
Defines the function of the corresponding Bluetooth HCI. -bt options
|
850 |
|
are matched with the HCIs present in the chosen machine type. For
|
851 |
|
example when emulating a machine with only one HCI built into it, only
|
852 |
|
the first @code{-bt hci[...]} option is valid and defines the HCI's
|
853 |
|
logic. The Transport Layer is decided by the machine type. Currently
|
854 |
|
the machines @code{n800} and @code{n810} have one HCI and all other
|
855 |
|
machines have none.
|
856 |
|
|
857 |
|
@anchor{bt-hcis}
|
858 |
|
The following three types are recognized:
|
859 |
|
|
860 |
|
@table @code
|
861 |
|
@item -bt hci,null
|
862 |
|
(default) The corresponding Bluetooth HCI assumes no internal logic
|
863 |
|
and will not respond to any HCI commands or emit events.
|
864 |
|
|
865 |
|
@item -bt hci,host[:@var{id}]
|
866 |
|
(@code{bluez} only) The corresponding HCI passes commands / events
|
867 |
|
to / from the physical HCI identified by the name @var{id} (default:
|
868 |
|
@code{hci0}) on the computer running QEMU. Only available on @code{bluez}
|
869 |
|
capable systems like Linux.
|
870 |
|
|
871 |
|
@item -bt hci[,vlan=@var{n}]
|
872 |
|
Add a virtual, standard HCI that will participate in the Bluetooth
|
873 |
|
scatternet @var{n} (default @code{0}). Similarly to @option{-net}
|
874 |
|
VLANs, devices inside a bluetooth network @var{n} can only communicate
|
875 |
|
with other devices in the same network (scatternet).
|
876 |
|
@end table
|
877 |
|
|
878 |
|
@item -bt vhci[,vlan=@var{n}]
|
879 |
|
(Linux-host only) Create a HCI in scatternet @var{n} (default 0) attached
|
880 |
|
to the host bluetooth stack instead of to the emulated target. This
|
881 |
|
allows the host and target machines to participate in a common scatternet
|
882 |
|
and communicate. Requires the Linux @code{vhci} driver installed. Can
|
883 |
|
be used as following:
|
884 |
|
|
885 |
|
@example
|
886 |
|
qemu [...OPTIONS...] -bt hci,vlan=5 -bt vhci,vlan=5
|
887 |
|
@end example
|
888 |
|
|
889 |
|
@item -bt device:@var{dev}[,vlan=@var{n}]
|
890 |
|
Emulate a bluetooth device @var{dev} and place it in network @var{n}
|
891 |
|
(default @code{0}). QEMU can only emulate one type of bluetooth devices
|
892 |
|
currently:
|
893 |
|
|
894 |
|
@table @code
|
895 |
|
@item keyboard
|
896 |
|
Virtual wireless keyboard implementing the HIDP bluetooth profile.
|
897 |
|
@end table
|
898 |
|
|
899 |
|
@end table
|
900 |
|
|
901 |
|
i386 target only:
|
902 |
|
|
903 |
|
@table @option
|
904 |
|
|
905 |
|
@item -win2k-hack
|
906 |
|
Use it when installing Windows 2000 to avoid a disk full bug. After
|
907 |
|
Windows 2000 is installed, you no longer need this option (this option
|
908 |
|
slows down the IDE transfers).
|
909 |
|
|
910 |
|
@item -rtc-td-hack
|
911 |
|
Use it if you experience time drift problem in Windows with ACPI HAL.
|
912 |
|
This option will try to figure out how many timer interrupts were not
|
913 |
|
processed by the Windows guest and will re-inject them.
|
914 |
|
|
915 |
|
@item -no-fd-bootchk
|
916 |
|
Disable boot signature checking for floppy disks in Bochs BIOS. It may
|
917 |
|
be needed to boot from old floppy disks.
|
918 |
|
|
919 |
|
@item -no-acpi
|
920 |
|
Disable ACPI (Advanced Configuration and Power Interface) support. Use
|
921 |
|
it if your guest OS complains about ACPI problems (PC target machine
|
922 |
|
only).
|
923 |
|
|
924 |
|
@item -no-hpet
|
925 |
|
Disable HPET support.
|
926 |
|
|
927 |
|
@item -acpitable [sig=@var{str}][,rev=@var{n}][,oem_id=@var{str}][,oem_table_id=@var{str}][,oem_rev=@var{n}] [,asl_compiler_id=@var{str}][,asl_compiler_rev=@var{n}][,data=@var{file1}[:@var{file2}]...]
|
928 |
|
Add ACPI table with specified header fields and context from specified files.
|
929 |
|
|
930 |
|
@end table
|
931 |
|
|
932 |
|
Linux boot specific: When using these options, you can use a given
|
933 |
|
Linux kernel without installing it in the disk image. It can be useful
|
934 |
|
for easier testing of various kernels.
|
935 |
|
|
936 |
|
@table @option
|
937 |
|
|
938 |
|
@item -kernel @var{bzImage}
|
939 |
|
Use @var{bzImage} as kernel image.
|
940 |
|
|
941 |
|
@item -append @var{cmdline}
|
942 |
|
Use @var{cmdline} as kernel command line
|
943 |
|
|
944 |
|
@item -initrd @var{file}
|
945 |
|
Use @var{file} as initial ram disk.
|
946 |
|
|
947 |
|
@end table
|
948 |
|
|
949 |
|
Debug/Expert options:
|
950 |
|
@table @option
|
951 |
|
|
952 |
|
@item -serial @var{dev}
|
953 |
|
Redirect the virtual serial port to host character device
|
954 |
|
@var{dev}. The default device is @code{vc} in graphical mode and
|
955 |
|
@code{stdio} in non graphical mode.
|
956 |
|
|
957 |
|
This option can be used several times to simulate up to 4 serial
|
958 |
|
ports.
|
959 |
|
|
960 |
|
Use @code{-serial none} to disable all serial ports.
|
961 |
|
|
962 |
|
Available character devices are:
|
963 |
|
@table @code
|
964 |
|
@item vc[:WxH]
|
965 |
|
Virtual console. Optionally, a width and height can be given in pixel with
|
966 |
|
@example
|
967 |
|
vc:800x600
|
968 |
|
@end example
|
969 |
|
It is also possible to specify width or height in characters:
|
970 |
|
@example
|
971 |
|
vc:80Cx24C
|
972 |
|
@end example
|
973 |
|
@item pty
|
974 |
|
[Linux only] Pseudo TTY (a new PTY is automatically allocated)
|
975 |
|
@item none
|
976 |
|
No device is allocated.
|
977 |
|
@item null
|
978 |
|
void device
|
979 |
|
@item /dev/XXX
|
980 |
|
[Linux only] Use host tty, e.g. @file{/dev/ttyS0}. The host serial port
|
981 |
|
parameters are set according to the emulated ones.
|
982 |
|
@item /dev/parport@var{N}
|
983 |
|
[Linux only, parallel port only] Use host parallel port
|
984 |
|
@var{N}. Currently SPP and EPP parallel port features can be used.
|
985 |
|
@item file:@var{filename}
|
986 |
|
Write output to @var{filename}. No character can be read.
|
987 |
|
@item stdio
|
988 |
|
[Unix only] standard input/output
|
989 |
|
@item pipe:@var{filename}
|
990 |
|
name pipe @var{filename}
|
991 |
|
@item COM@var{n}
|
992 |
|
[Windows only] Use host serial port @var{n}
|
993 |
|
@item udp:[@var{remote_host}]:@var{remote_port}[@@[@var{src_ip}]:@var{src_port}]
|
994 |
|
This implements UDP Net Console.
|
995 |
|
When @var{remote_host} or @var{src_ip} are not specified
|
996 |
|
they default to @code{0.0.0.0}.
|
997 |
|
When not using a specified @var{src_port} a random port is automatically chosen.
|
998 |
|
@item msmouse
|
999 |
|
Three button serial mouse. Configure the guest to use Microsoft protocol.
|
1000 |
|
|
1001 |
|
If you just want a simple readonly console you can use @code{netcat} or
|
1002 |
|
@code{nc}, by starting qemu with: @code{-serial udp::4555} and nc as:
|
1003 |
|
@code{nc -u -l -p 4555}. Any time qemu writes something to that port it
|
1004 |
|
will appear in the netconsole session.
|
1005 |
|
|
1006 |
|
If you plan to send characters back via netconsole or you want to stop
|
1007 |
|
and start qemu a lot of times, you should have qemu use the same
|
1008 |
|
source port each time by using something like @code{-serial
|
1009 |
|
udp::4555@@:4556} to qemu. Another approach is to use a patched
|
1010 |
|
version of netcat which can listen to a TCP port and send and receive
|
1011 |
|
characters via udp. If you have a patched version of netcat which
|
1012 |
|
activates telnet remote echo and single char transfer, then you can
|
1013 |
|
use the following options to step up a netcat redirector to allow
|
1014 |
|
telnet on port 5555 to access the qemu port.
|
1015 |
|
@table @code
|
1016 |
|
@item Qemu Options:
|
1017 |
|
-serial udp::4555@@:4556
|
1018 |
|
@item netcat options:
|
1019 |
|
-u -P 4555 -L 0.0.0.0:4556 -t -p 5555 -I -T
|
1020 |
|
@item telnet options:
|
1021 |
|
localhost 5555
|
1022 |
|
@end table
|
1023 |
|
|
1024 |
|
|
1025 |
|
@item tcp:[@var{host}]:@var{port}[,@var{server}][,nowait][,nodelay]
|
1026 |
|
The TCP Net Console has two modes of operation. It can send the serial
|
1027 |
|
I/O to a location or wait for a connection from a location. By default
|
1028 |
|
the TCP Net Console is sent to @var{host} at the @var{port}. If you use
|
1029 |
|
the @var{server} option QEMU will wait for a client socket application
|
1030 |
|
to connect to the port before continuing, unless the @code{nowait}
|
1031 |
|
option was specified. The @code{nodelay} option disables the Nagle buffering
|
1032 |
|
algorithm. If @var{host} is omitted, 0.0.0.0 is assumed. Only
|
1033 |
|
one TCP connection at a time is accepted. You can use @code{telnet} to
|
1034 |
|
connect to the corresponding character device.
|
1035 |
|
@table @code
|
1036 |
|
@item Example to send tcp console to 192.168.0.2 port 4444
|
1037 |
|
-serial tcp:192.168.0.2:4444
|
1038 |
|
@item Example to listen and wait on port 4444 for connection
|
1039 |
|
-serial tcp::4444,server
|
1040 |
|
@item Example to not wait and listen on ip 192.168.0.100 port 4444
|
1041 |
|
-serial tcp:192.168.0.100:4444,server,nowait
|
1042 |
|
@end table
|
1043 |
|
|
1044 |
|
@item telnet:@var{host}:@var{port}[,server][,nowait][,nodelay]
|
1045 |
|
The telnet protocol is used instead of raw tcp sockets. The options
|
1046 |
|
work the same as if you had specified @code{-serial tcp}. The
|
1047 |
|
difference is that the port acts like a telnet server or client using
|
1048 |
|
telnet option negotiation. This will also allow you to send the
|
1049 |
|
MAGIC_SYSRQ sequence if you use a telnet that supports sending the break
|
1050 |
|
sequence. Typically in unix telnet you do it with Control-] and then
|
1051 |
|
type "send break" followed by pressing the enter key.
|
1052 |
|
|
1053 |
|
@item unix:@var{path}[,server][,nowait]
|
1054 |
|
A unix domain socket is used instead of a tcp socket. The option works the
|
1055 |
|
same as if you had specified @code{-serial tcp} except the unix domain socket
|
1056 |
|
@var{path} is used for connections.
|
1057 |
|
|
1058 |
|
@item mon:@var{dev_string}
|
1059 |
|
This is a special option to allow the monitor to be multiplexed onto
|
1060 |
|
another serial port. The monitor is accessed with key sequence of
|
1061 |
|
@key{Control-a} and then pressing @key{c}. See monitor access
|
1062 |
|
@ref{pcsys_keys} in the -nographic section for more keys.
|
1063 |
|
@var{dev_string} should be any one of the serial devices specified
|
1064 |
|
above. An example to multiplex the monitor onto a telnet server
|
1065 |
|
listening on port 4444 would be:
|
1066 |
|
@table @code
|
1067 |
|
@item -serial mon:telnet::4444,server,nowait
|
1068 |
|
@end table
|
1069 |
|
|
1070 |
|
@item braille
|
1071 |
|
Braille device. This will use BrlAPI to display the braille output on a real
|
1072 |
|
or fake device.
|
1073 |
|
|
1074 |
|
@end table
|
1075 |
|
|
1076 |
|
@item -parallel @var{dev}
|
1077 |
|
Redirect the virtual parallel port to host device @var{dev} (same
|
1078 |
|
devices as the serial port). On Linux hosts, @file{/dev/parportN} can
|
1079 |
|
be used to use hardware devices connected on the corresponding host
|
1080 |
|
parallel port.
|
1081 |
|
|
1082 |
|
This option can be used several times to simulate up to 3 parallel
|
1083 |
|
ports.
|
1084 |
|
|
1085 |
|
Use @code{-parallel none} to disable all parallel ports.
|
1086 |
|
|
1087 |
|
@item -monitor @var{dev}
|
1088 |
|
Redirect the monitor to host device @var{dev} (same devices as the
|
1089 |
|
serial port).
|
1090 |
|
The default device is @code{vc} in graphical mode and @code{stdio} in
|
1091 |
|
non graphical mode.
|
1092 |
|
|
1093 |
|
@item -pidfile @var{file}
|
1094 |
|
Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
|
1095 |
|
from a script.
|
1096 |
|
|
1097 |
|
@item -S
|
1098 |
|
Do not start CPU at startup (you must type 'c' in the monitor).
|
1099 |
|
|
1100 |
|
@item -s
|
1101 |
|
Wait gdb connection to port 1234 (@pxref{gdb_usage}).
|
1102 |
|
|
1103 |
|
@item -p @var{port}
|
1104 |
|
Change gdb connection port. @var{port} can be either a decimal number
|
1105 |
|
to specify a TCP port, or a host device (same devices as the serial port).
|
1106 |
|
|
1107 |
|
@item -d
|
1108 |
|
Output log in /tmp/qemu.log
|
1109 |
|
@item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
|
1110 |
|
Force hard disk 0 physical geometry (1 <= @var{c} <= 16383, 1 <=
|
1111 |
|
@var{h} <= 16, 1 <= @var{s} <= 63) and optionally force the BIOS
|
1112 |
|
translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
|
1113 |
|
all those parameters. This option is useful for old MS-DOS disk
|
1114 |
|
images.
|
1115 |
|
|
1116 |
|
@item -L @var{path}
|
1117 |
|
Set the directory for the BIOS, VGA BIOS and keymaps.
|
1118 |
|
|
1119 |
|
@item -bios @var{file}
|
1120 |
|
Set the filename for the BIOS.
|
1121 |
|
|
1122 |
|
@item -kernel-kqemu
|
1123 |
|
Enable KQEMU full virtualization (default is user mode only).
|
1124 |
|
|
1125 |
|
@item -no-kqemu
|
1126 |
|
Disable KQEMU kernel module usage. KQEMU options are only available if
|
1127 |
|
KQEMU support is enabled when compiling.
|
1128 |
|
|
1129 |
|
@item -enable-kvm
|
1130 |
|
Enable KVM full virtualization support. This option is only available
|
1131 |
|
if KVM support is enabled when compiling.
|
1132 |
|
|
1133 |
|
@item -no-reboot
|
1134 |
|
Exit instead of rebooting.
|
1135 |
|
|
1136 |
|
@item -no-shutdown
|
1137 |
|
Don't exit QEMU on guest shutdown, but instead only stop the emulation.
|
1138 |
|
This allows for instance switching to monitor to commit changes to the
|
1139 |
|
disk image.
|
1140 |
|
|
1141 |
|
@item -loadvm @var{file}
|
1142 |
|
Start right away with a saved state (@code{loadvm} in monitor)
|
1143 |
|
|
1144 |
|
@item -daemonize
|
1145 |
|
Daemonize the QEMU process after initialization. QEMU will not detach from
|
1146 |
|
standard IO until it is ready to receive connections on any of its devices.
|
1147 |
|
This option is a useful way for external programs to launch QEMU without having
|
1148 |
|
to cope with initialization race conditions.
|
1149 |
|
|
1150 |
|
@item -option-rom @var{file}
|
1151 |
|
Load the contents of @var{file} as an option ROM.
|
1152 |
|
This option is useful to load things like EtherBoot.
|
1153 |
|
|
1154 |
|
@item -clock @var{method}
|
1155 |
|
Force the use of the given methods for timer alarm. To see what timers
|
1156 |
|
are available use -clock ?.
|
1157 |
|
|
1158 |
|
@item -localtime
|
1159 |
|
Set the real time clock to local time (the default is to UTC
|
1160 |
|
time). This option is needed to have correct date in MS-DOS or
|
1161 |
|
Windows.
|
1162 |
|
|
1163 |
|
@item -startdate @var{date}
|
1164 |
|
Set the initial date of the real time clock. Valid formats for
|
1165 |
|
@var{date} are: @code{now} or @code{2006-06-17T16:01:21} or
|
1166 |
|
@code{2006-06-17}. The default value is @code{now}.
|
1167 |
|
|
1168 |
|
@item -icount [N|auto]
|
1169 |
|
Enable virtual instruction counter. The virtual cpu will execute one
|
1170 |
|
instruction every 2^N ns of virtual time. If @code{auto} is specified
|
1171 |
|
then the virtual cpu speed will be automatically adjusted to keep virtual
|
1172 |
|
time within a few seconds of real time.
|
1173 |
|
|
1174 |
|
Note that while this option can give deterministic behavior, it does not
|
1175 |
|
provide cycle accurate emulation. Modern CPUs contain superscalar out of
|
1176 |
|
order cores with complex cache hierarchies. The number of instructions
|
1177 |
|
executed often has little or no correlation with actual performance.
|
1178 |
|
|
1179 |
|
@item -echr numeric_ascii_value
|
1180 |
|
Change the escape character used for switching to the monitor when using
|
1181 |
|
monitor and serial sharing. The default is @code{0x01} when using the
|
1182 |
|
@code{-nographic} option. @code{0x01} is equal to pressing
|
1183 |
|
@code{Control-a}. You can select a different character from the ascii
|
1184 |
|
control keys where 1 through 26 map to Control-a through Control-z. For
|
1185 |
|
instance you could use the either of the following to change the escape
|
1186 |
|
character to Control-t.
|
1187 |
|
@table @code
|
1188 |
|
@item -echr 0x14
|
1189 |
|
@item -echr 20
|
1190 |
|
@end table
|
1191 |
|
|
1192 |
|
@item -chroot dir
|
1193 |
|
Immediately before starting guest execution, chroot to the specified
|
1194 |
|
directory. Especially useful in combination with -runas.
|
1195 |
|
|
1196 |
|
@item -runas user
|
1197 |
|
Immediately before starting guest execution, drop root privileges, switching
|
1198 |
|
to the specified user.
|
1199 |
|
|
1200 |
|
@end table
|
|
227 |
@include qemu-options.texi
|
1201 |
228 |
|
1202 |
229 |
@c man end
|
1203 |
230 |
|