-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathqemu-doc.html
6433 lines (6090 loc) · 313 KB
/
qemu-doc.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html><!-- Created on January 29, 2010 by texi2html 1.82
texi2html was written by:
Lionel Cons <[email protected]> (original author)
Karl Berry <[email protected]>
Olaf Bachmann <[email protected]>
and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <[email protected]>
--><head>
<title>QEMU Emulator User Documentation</title>
<meta name="description" content="QEMU Emulator User Documentation">
<meta name="keywords" content="QEMU Emulator User Documentation">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.82">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
pre.display {font-family: serif}
pre.format {font-family: serif}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: serif; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: serif; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.roman {font-family:serif; font-weight:normal;}
span.sansserif {font-family:sans-serif; font-weight:normal;}
ul.toc {list-style: none}
-->
</style>
</head>
<body alink="#FF0000" bgcolor="#FFFFFF" lang="en" link="#0000FF" text="#000000" vlink="#800080">
<p> <a href="http://wiki.qemu.org/download/qemu-doc.html"> http://wiki.qemu.org/download/qemu-doc.html </a></p>
<a name="Top"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="SEC_Top"></a>
<h1 class="settitle">QEMU Emulator User Documentation</h1>
<table class="menu" border="0" cellspacing="0">
<tbody><tr><td align="left" valign="top"><a href="#Introduction">1. Introduction</a></td><td> </td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#Installation">2. Installation</a></td><td> </td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#QEMU-PC-System-emulator">3. QEMU PC System emulator</a></td><td> </td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#QEMU-System-emulator-for-non-PC-targets">4. QEMU System emulator for non PC targets</a></td><td> </td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#QEMU-User-space-emulator">5. QEMU User space emulator</a></td><td> </td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#compilation">6. Compilation from the sources</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#Index">7. Index</a></td><td> </td><td align="left" valign="top">
</td></tr>
</tbody></table>
<hr size="1">
<a name="Introduction"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#Top" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#intro_005ffeatures" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#Top" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#Installation" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Introduction-1"></a>
<h1 class="chapter">1. Introduction</h1>
<table class="menu" border="0" cellspacing="0">
<tbody><tr><td align="left" valign="top"><a href="#intro_005ffeatures">1.1 Features</a></td><td> </td><td align="left" valign="top"></td></tr>
</tbody></table>
<hr size="6">
<a name="intro_005ffeatures"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#Introduction" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#Installation" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Introduction" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#Introduction" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#Installation" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Features"></a>
<h2 class="section">1.1 Features</h2>
<p>QEMU is a FAST! processor emulator using dynamic translation to
achieve good emulation speed.
</p>
<p>QEMU has two operating modes:
</p>
<ul class="toc">
<li>-
Full system emulation. In this mode, QEMU emulates a full system (for
example a PC), including one or several processors and various
peripherals. It can be used to launch different Operating Systems
without rebooting the PC or to debug system code.
</li><li>-
User mode emulation. In this mode, QEMU can launch
processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator (<a href="http://www.winehq.org/">http://www.winehq.org</a>) or
to ease cross-compilation and cross-debugging.
</li></ul>
<p>QEMU can run without an host kernel driver and yet gives acceptable
performance.
</p>
<p>For system emulation, the following hardware targets are supported:
</p><ul>
<li> PC (x86 or x86_64 processor)
</li><li> ISA PC (old style PC without PCI bus)
</li><li> PREP (PowerPC processor)
</li><li> G3 Beige PowerMac (PowerPC processor)
</li><li> Mac99 PowerMac (PowerPC processor, in progress)
</li><li> Sun4m/Sun4c/Sun4d (32-bit Sparc processor)
</li><li> Sun4u/Sun4v (64-bit Sparc processor, in progress)
</li><li> Malta board (32-bit and 64-bit MIPS processors)
</li><li> MIPS Magnum (64-bit MIPS processor)
</li><li> ARM Integrator/CP (ARM)
</li><li> ARM Versatile baseboard (ARM)
</li><li> ARM RealView Emulation/Platform baseboard (ARM)
</li><li> Spitz, Akita, Borzoi, Terrier and Tosa PDAs (PXA270 processor)
</li><li> Luminary Micro LM3S811EVB (ARM Cortex-M3)
</li><li> Luminary Micro LM3S6965EVB (ARM Cortex-M3)
</li><li> Freescale MCF5208EVB (ColdFire V2).
</li><li> Arnewsh MCF5206 evaluation board (ColdFire V2).
</li><li> Palm Tungsten|E PDA (OMAP310 processor)
</li><li> N800 and N810 tablets (OMAP2420 processor)
</li><li> MusicPal (MV88W8618 ARM processor)
</li><li> Gumstix "Connex" and "Verdex" motherboards (PXA255/270).
</li><li> Siemens SX1 smartphone (OMAP310 processor)
</li><li> Syborg SVP base model (ARM Cortex-A8).
</li><li> AXIS-Devboard88 (CRISv32 ETRAX-FS).
</li><li> Petalogix Spartan 3aDSP1800 MMU ref design (MicroBlaze).
</li></ul>
<p>For user emulation, x86, PowerPC, ARM, 32-bit MIPS, Sparc32/64, ColdFire(m68k), CRISv32 and MicroBlaze CPUs are supported.
</p>
<hr size="6">
<a name="Installation"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#intro_005ffeatures" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#install_005flinux" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Introduction" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#Top" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Installation-1"></a>
<h1 class="chapter">2. Installation</h1>
<p>If you want to compile QEMU yourself, see <a href="#compilation">Compilation from the sources</a>.
</p>
<table class="menu" border="0" cellspacing="0">
<tbody><tr><td align="left" valign="top"><a href="#install_005flinux">2.1 Linux</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#install_005fwindows">2.2 Windows</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#install_005fmac">2.3 Mac OS X</a></td><td> </td><td align="left" valign="top"> Macintosh
</td></tr>
</tbody></table>
<hr size="6">
<a name="install_005flinux"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#Installation" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#install_005fwindows" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Installation" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#Installation" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Linux-2"></a>
<h2 class="section">2.1 Linux</h2>
<p>If a precompiled package is available for your distribution - you just
have to install it. Otherwise, see <a href="#compilation">Compilation from the sources</a>.
</p>
<hr size="6">
<a name="install_005fwindows"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#install_005flinux" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#install_005fmac" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Installation" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#Installation" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Windows-4"></a>
<h2 class="section">2.2 Windows</h2>
<p>Download the experimental binary installer at
<a href="http://www.free.oszoo.org/download.html">http://www.free.oszoo.org/download.html</a>.
</p>
<hr size="6">
<a name="install_005fmac"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#install_005fwindows" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Installation" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#Installation" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Mac-OS-X-3"></a>
<h2 class="section">2.3 Mac OS X</h2>
<p>Download the experimental binary installer at
<a href="http://www.free.oszoo.org/download.html">http://www.free.oszoo.org/download.html</a>.
</p>
<hr size="6">
<a name="QEMU-PC-System-emulator"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#install_005fmac" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#pcsys_005fintroduction" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Installation" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#Top" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-System-emulator-for-non-PC-targets" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="QEMU-PC-System-emulator-1"></a>
<h1 class="chapter">3. QEMU PC System emulator</h1>
<table class="menu" border="0" cellspacing="0">
<tbody><tr><td align="left" valign="top"><a href="#pcsys_005fintroduction">3.1 Introduction</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#pcsys_005fquickstart">3.2 Quick Start</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#sec_005finvocation">3.3 Invocation</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#pcsys_005fkeys">3.4 Keys</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#pcsys_005fmonitor">3.5 QEMU Monitor</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#disk_005fimages">3.6 Disk Images</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#pcsys_005fnetwork">3.7 Network emulation</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#direct_005flinux_005fboot">3.8 Direct Linux Boot</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#pcsys_005fusb">3.9 USB emulation</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#vnc_005fsecurity">3.10 VNC security</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#gdb_005fusage">3.11 GDB usage</a></td><td> </td><td align="left" valign="top"></td></tr>
<tr><td align="left" valign="top"><a href="#pcsys_005fos_005fspecific">3.12 Target OS specific information</a></td><td> </td><td align="left" valign="top"></td></tr>
</tbody></table>
<hr size="6">
<a name="pcsys_005fintroduction"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#pcsys_005fquickstart" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-System-emulator-for-non-PC-targets" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Introduction-2"></a>
<h2 class="section">3.1 Introduction</h2>
<p>The QEMU PC System emulator simulates the
following peripherals:
</p>
<ul class="toc">
<li>-
i440FX host PCI bridge and PIIX3 PCI to ISA bridge
</li><li>-
Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA
extensions (hardware level, including all non standard modes).
</li><li>-
PS/2 mouse and keyboard
</li><li>-
2 PCI IDE interfaces with hard disk and CD-ROM support
</li><li>-
Floppy disk
</li><li>-
PCI and ISA network adapters
</li><li>-
Serial ports
</li><li>-
Creative SoundBlaster 16 sound card
</li><li>-
ENSONIQ AudioPCI ES1370 sound card
</li><li>-
Intel 82801AA AC97 Audio compatible sound card
</li><li>-
Adlib(OPL2) - Yamaha YM3812 compatible chip
</li><li>-
Gravis Ultrasound GF1 sound card
</li><li>-
CS4231A compatible sound card
</li><li>-
PCI UHCI USB controller and a virtual USB hub.
</li></ul>
<p>SMP is supported with up to 255 CPUs.
</p>
<p>Note that adlib, gus and cs4231a are only available when QEMU was
configured with –audio-card-list option containing the name(s) of
required card(s).
</p>
<p>QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL
VGA BIOS.
</p>
<p>QEMU uses YM3812 emulation by Tatsuyuki Satoh.
</p>
<p>QEMU uses GUS emulation(GUSEMU32 <a href="http://www.deinmeister.de/gusemu/">http://www.deinmeister.de/gusemu/</a>)
by Tibor "TS" Schütz.
</p>
<p>Not 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
</p>
<table><tbody><tr><td> </td><td><pre class="example">qemu dos.img -soundhw gus -parallel none
</pre></td></tr></tbody></table>
<p>Alternatively:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu dos.img -device gus,irq=5
</pre></td></tr></tbody></table>
<p>Or some other unclaimed IRQ.
</p>
<p>CS4231A is the chip used in Windows Sound System and GUSMAX products
</p>
<hr size="6">
<a name="pcsys_005fquickstart"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#pcsys_005fintroduction" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#sec_005finvocation" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-System-emulator-for-non-PC-targets" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Quick-Start-4"></a>
<h2 class="section">3.2 Quick Start</h2>
<p>Download and uncompress the linux image (‘<tt>linux.img</tt>’) and type:
</p>
<table><tbody><tr><td> </td><td><pre class="example">qemu linux.img
</pre></td></tr></tbody></table>
<p>Linux should boot and give you a prompt.
</p>
<hr size="6">
<a name="sec_005finvocation"></a>
<table border="0" cellpadding="1" cellspacing="1">
<tbody><tr><td align="left" valign="middle">[<a href="#pcsys_005fquickstart" title="Previous section in reading order"> < </a>]</td>
<td align="left" valign="middle">[<a href="#pcsys_005fkeys" title="Next section in reading order"> > </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Beginning of this chapter or previous chapter"> << </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-PC-System-emulator" title="Up section"> Up </a>]</td>
<td align="left" valign="middle">[<a href="#QEMU-System-emulator-for-non-PC-targets" title="Next chapter"> >> </a>]</td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle"> </td>
<td align="left" valign="middle">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td align="left" valign="middle">[<a href="#Index" title="Index">Index</a>]</td>
<td align="left" valign="middle">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></tbody></table>
<a name="Invocation"></a>
<h2 class="section">3.3 Invocation</h2>
<table><tbody><tr><td> </td><td><pre class="example">usage: qemu [options] [<var>disk_image</var>]
</pre></td></tr></tbody></table>
<p><var>disk_image</var> is a raw hard disk image for IDE hard disk 0. Some
targets do not need a disk image.
</p>
<p>Standard options:
</p><dl compact="compact">
<dt> ‘<samp>-h</samp>’</dt>
<dd><p>Display help and exit
</p></dd>
<dt> ‘<samp>-version</samp>’</dt>
<dd><p>Display version information and exit
</p></dd>
<dt> ‘<samp>-M <var>machine</var></samp>’</dt>
<dd><p>Select the emulated <var>machine</var> (<code>-M ?</code> for list)
</p></dd>
<dt> ‘<samp>-cpu <var>model</var></samp>’</dt>
<dd><p>Select CPU model (-cpu ? for list and additional feature selection)
</p></dd>
<dt> ‘<samp>-smp <var>n</var>[,cores=<var>cores</var>][,threads=<var>threads</var>][,sockets=<var>sockets</var>][,maxcpus=<var>maxcpus</var>]</samp>’</dt>
<dd><p>Simulate an SMP system with <var>n</var> CPUs. On the PC target, up to 255
CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
to 4.
For the PC target, the number of <var>cores</var> per socket, the number
of <var>threads</var> per cores and the total number of <var>sockets</var> can be
specified. Missing values will be computed. If any on the three values is
given, the total number of CPUs <var>n</var> can be omitted. <var>maxcpus</var>
specifies the maximum number of hotpluggable CPUs.
</p></dd>
<dt> ‘<samp>-numa <var>opts</var></samp>’</dt>
<dd><p>Simulate a multi node NUMA system. If mem and cpus are omitted, resources
are split equally.
</p></dd>
<dt> ‘<samp>-fda <var>file</var></samp>’</dt>
<dt> ‘<samp>-fdb <var>file</var></samp>’</dt>
<dd><p>Use <var>file</var> as floppy disk 0/1 image (see section <a href="#disk_005fimages">Disk Images</a>). You can
use the host floppy by using ‘<tt>/dev/fd0</tt>’ as filename (see section <a href="#host_005fdrives">Using host drives</a>).
</p></dd>
<dt> ‘<samp>-hda <var>file</var></samp>’</dt>
<dt> ‘<samp>-hdb <var>file</var></samp>’</dt>
<dt> ‘<samp>-hdc <var>file</var></samp>’</dt>
<dt> ‘<samp>-hdd <var>file</var></samp>’</dt>
<dd><p>Use <var>file</var> as hard disk 0, 1, 2 or 3 image (see section <a href="#disk_005fimages">Disk Images</a>).
</p></dd>
<dt> ‘<samp>-cdrom <var>file</var></samp>’</dt>
<dd><p>Use <var>file</var> as CD-ROM image (you cannot use ‘<samp>-hdc</samp>’ and
‘<samp>-cdrom</samp>’ at the same time). You can use the host CD-ROM by
using ‘<tt>/dev/cdrom</tt>’ as filename (see section <a href="#host_005fdrives">Using host drives</a>).
</p></dd>
<dt> ‘<samp>-drive <var>option</var>[,<var>option</var>[,<var>option</var>[,...]]]</samp>’</dt>
<dd>
<p>Define a new drive. Valid options are:
</p>
<dl compact="compact">
<dt> ‘<samp>file=<var>file</var></samp>’</dt>
<dd><p>This option defines which disk image (see section <a href="#disk_005fimages">Disk Images</a>) to use with
this drive. If the filename contains comma, you must double it
(for instance, "file=my,,file" to use file "my,file").
</p></dd>
<dt> ‘<samp>if=<var>interface</var></samp>’</dt>
<dd><p>This option defines on which type on interface the drive is connected.
Available types are: ide, scsi, sd, mtd, floppy, pflash, virtio.
</p></dd>
<dt> ‘<samp>bus=<var>bus</var>,unit=<var>unit</var></samp>’</dt>
<dd><p>These options define where is connected the drive by defining the bus number and
the unit id.
</p></dd>
<dt> ‘<samp>index=<var>index</var></samp>’</dt>
<dd><p>This option defines where is connected the drive by using an index in the list
of available connectors of a given interface type.
</p></dd>
<dt> ‘<samp>media=<var>media</var></samp>’</dt>
<dd><p>This option defines the type of the media: disk or cdrom.
</p></dd>
<dt> ‘<samp>cyls=<var>c</var>,heads=<var>h</var>,secs=<var>s</var>[,trans=<var>t</var>]</samp>’</dt>
<dd><p>These options have the same definition as they have in ‘<samp>-hdachs</samp>’.
</p></dd>
<dt> ‘<samp>snapshot=<var>snapshot</var></samp>’</dt>
<dd><p><var>snapshot</var> is "on" or "off" and allows to enable snapshot for given drive (see ‘<samp>-snapshot</samp>’).
</p></dd>
<dt> ‘<samp>cache=<var>cache</var></samp>’</dt>
<dd><p><var>cache</var> is "none", "writeback", or "writethrough" and controls how the host cache is used to access block data.
</p></dd>
<dt> ‘<samp>aio=<var>aio</var></samp>’</dt>
<dd><p><var>aio</var> is "threads", or "native" and selects between pthread based disk I/O and native Linux AIO.
</p></dd>
<dt> ‘<samp>format=<var>format</var></samp>’</dt>
<dd><p>Specify which disk <var>format</var> will be used rather than detecting
the format. Can be used to specifiy format=raw to avoid interpreting
an untrusted format header.
</p></dd>
<dt> ‘<samp>serial=<var>serial</var></samp>’</dt>
<dd><p>This option specifies the serial number to assign to the device.
</p></dd>
<dt> ‘<samp>addr=<var>addr</var></samp>’</dt>
<dd><p>Specify the controller’s PCI address (if=virtio only).
</p></dd>
</dl>
<p>By default, writethrough caching is used for all block device. This means that
the host page cache will be used to read and write data but write notification
will be sent to the guest only when the data has been reported as written by
the storage subsystem.
</p>
<p>Writeback caching will report data writes as completed as soon as the data is
present in the host page cache. This is safe as long as you trust your host.
If your host crashes or loses power, then the guest may experience data
corruption. When using the ‘<samp>-snapshot</samp>’ option, writeback caching is
used by default.
</p>
<p>The host page cache can be avoided entirely with ‘<samp>cache=none</samp>’. This will
attempt to do disk IO directly to the guests memory. QEMU may still perform
an internal copy of the data.
</p>
<p>Some block drivers perform badly with ‘<samp>cache=writethrough</samp>’, most notably,
qcow2. If performance is more important than correctness,
‘<samp>cache=writeback</samp>’ should be used with qcow2.
</p>
<p>Instead of ‘<samp>-cdrom</samp>’ you can use:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu -drive file=file,index=2,media=cdrom
</pre></td></tr></tbody></table>
<p>Instead of ‘<samp>-hda</samp>’, ‘<samp>-hdb</samp>’, ‘<samp>-hdc</samp>’, ‘<samp>-hdd</samp>’, you can
use:
</p><table><tbody><tr><td> </td><td><pre class="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
</pre></td></tr></tbody></table>
<p>You can connect a CDROM to the slave of ide0:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu -drive file=file,if=ide,index=1,media=cdrom
</pre></td></tr></tbody></table>
<p>If you don’t specify the "file=" argument, you define an empty drive:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu -drive if=ide,index=1,media=cdrom
</pre></td></tr></tbody></table>
<p>You can connect a SCSI disk with unit ID 6 on the bus #0:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu -drive file=file,if=scsi,bus=0,unit=6
</pre></td></tr></tbody></table>
<p>Instead of ‘<samp>-fda</samp>’, ‘<samp>-fdb</samp>’, you can use:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu -drive file=file,index=0,if=floppy
qemu -drive file=file,index=1,if=floppy
</pre></td></tr></tbody></table>
<p>By default, <var>interface</var> is "ide" and <var>index</var> is automatically
incremented:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu -drive file=a -drive file=b"
</pre></td></tr></tbody></table>
<p>is interpreted like:
</p><table><tbody><tr><td> </td><td><pre class="example">qemu -hda a -hdb b
</pre></td></tr></tbody></table>
</dd>
<dt> ‘<samp>-mtdblock <var>file</var></samp>’</dt>
<dd><p>Use <var>file</var> as on-board Flash memory image.
</p></dd>
<dt> ‘<samp>-sd <var>file</var></samp>’</dt>
<dd><p>Use <var>file</var> as SecureDigital card image.
</p></dd>
<dt> ‘<samp>-pflash <var>file</var></samp>’</dt>
<dd><p>Use <var>file</var> as a parallel flash image.
</p></dd>
<dt> ‘<samp>-boot [order=<var>drives</var>][,once=<var>drives</var>][,menu=on|off]</samp>’</dt>
<dd>
<p>Specify boot order <var>drives</var> as a string of drive letters. Valid
drive letters depend on the target achitecture. The x86 PC uses: a, b
(floppy 1 and 2), c (first hard disk), d (first CD-ROM), n-p (Etherboot
from network adapter 1-4), hard disk boot is the default. To apply a
particular boot order only on the first startup, specify it via
‘<samp>once</samp>’.
</p>
<p>Interactive boot menus/prompts can be enabled via ‘<samp>menu=on</samp>’ as far
as firmware/BIOS supports them. The default is non-interactive boot.
</p>
<table><tbody><tr><td> </td><td><pre class="example"># try to boot from network first, then from hard disk
qemu -boot order=nc
# boot from CD-ROM first, switch back to default order after reboot
qemu -boot once=d
</pre></td></tr></tbody></table>
<p>Note: The legacy format ’-boot <var>drives</var>’ is still supported but its
use is discouraged as it may be removed from future versions.
</p></dd>
<dt> ‘<samp>-snapshot</samp>’</dt>
<dd><p>Write to temporary files instead of disk image files. In this case,
the raw disk image you use is not written back. You can however force
the write back by pressing <C-a s> (see section <a href="#disk_005fimages">Disk Images</a>).
</p></dd>
<dt> ‘<samp>-m <var>megs</var></samp>’</dt>
<dd><p>Set virtual RAM size to <var>megs</var> megabytes. Default is 128 MiB. Optionally,
a suffix of “M” or “G” can be used to signify a value in megabytes or
gigabytes respectively.
</p></dd>
<dt> ‘<samp>-k <var>language</var></samp>’</dt>
<dd>
<p>Use keyboard layout <var>language</var> (for example <code>fr</code> for
French). This option is only needed where it is not easy to get raw PC
keycodes (e.g. on Macs, with some X11 servers or with a VNC
display). You don’t normally need to use it on PC/Linux or PC/Windows
hosts.
</p>
<p>The available layouts are:
</p><table><tbody><tr><td> </td><td><pre class="example">ar de-ch es fo fr-ca hu ja mk no pt-br sv
da en-gb et fr fr-ch is lt nl pl ru th
de en-us fi fr-be hr it lv nl-be pt sl tr
</pre></td></tr></tbody></table>
<p>The default is <code>en-us</code>.
</p></dd>
<dt> ‘<samp>-audio-help</samp>’</dt>
<dd>
<p>Will show the audio subsystem help: list of drivers, tunable
parameters.
</p></dd>
<dt> ‘<samp>-soundhw <var>card1</var>[,<var>card2</var>,...] or -soundhw all</samp>’</dt>
<dd>
<p>Enable audio and selected sound hardware. Use ? to print all
available sound hardware.
</p>
<table><tbody><tr><td> </td><td><pre class="example">qemu -soundhw sb16,adlib disk.img
qemu -soundhw es1370 disk.img
qemu -soundhw ac97 disk.img
qemu -soundhw all disk.img
qemu -soundhw ?
</pre></td></tr></tbody></table>
<p>Note that Linux’s i810_audio OSS kernel (for AC97) module might
require manually specifying clocking.
</p>
<table><tbody><tr><td> </td><td><pre class="example">modprobe i810_audio clocking=48000
</pre></td></tr></tbody></table>
</dd>
</dl>
<p>USB options:
</p><dl compact="compact">
<dt> ‘<samp>-usb</samp>’</dt>
<dd><p>Enable the USB driver (will be the default soon)
</p>
</dd>
<dt> ‘<samp>-usbdevice <var>devname</var></samp>’</dt>
<dd><p>Add the USB device <var>devname</var>. See section <a href="#usb_005fdevices">Connecting USB devices</a>.
</p>
<dl compact="compact">
<dt> ‘<samp>mouse</samp>’</dt>
<dd><p>Virtual Mouse. This will override the PS/2 mouse emulation when activated.
</p>
</dd>
<dt> ‘<samp>tablet</samp>’</dt>
<dd><p>Pointer device that uses absolute coordinates (like a touchscreen). 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.
</p>
</dd>
<dt> ‘<samp>disk:[format=<var>format</var>]:<var>file</var></samp>’</dt>
<dd><p>Mass storage device based on file. The optional <var>format</var> argument
will be used rather than detecting the format. Can be used to specifiy
<code>format=raw</code> to avoid interpreting an untrusted format header.
</p>
</dd>
<dt> ‘<samp>host:<var>bus</var>.<var>addr</var></samp>’</dt>
<dd><p>Pass through the host device identified by <var>bus</var>.<var>addr</var> (Linux only).
</p>
</dd>
<dt> ‘<samp>host:<var>vendor_id</var>:<var>product_id</var></samp>’</dt>
<dd><p>Pass through the host device identified by <var>vendor_id</var>:<var>product_id</var>
(Linux only).
</p>
</dd>
<dt> ‘<samp>serial:[vendorid=<var>vendor_id</var>][,productid=<var>product_id</var>]:<var>dev</var></samp>’</dt>
<dd><p>Serial converter to host character device <var>dev</var>, see <code>-serial</code> for the
available devices.
</p>
</dd>
<dt> ‘<samp>braille</samp>’</dt>
<dd><p>Braille device. This will use BrlAPI to display the braille output on a real
or fake device.
</p>
</dd>
<dt> ‘<samp>net:<var>options</var></samp>’</dt>
<dd><p>Network adapter that supports CDC ethernet and RNDIS protocols.
</p>
</dd>
</dl>
</dd>
<dt> ‘<samp>-device <var>driver</var>[,<var>option</var>[,...]]</samp>’</dt>
<dd><p>Add device <var>driver</var>. Depending on the device type,
<var>option</var> (typically <var>key</var>=<var>value</var>) may be useful.
</p></dd>
<dt> ‘<samp>-name <var>name</var></samp>’</dt>
<dd><p>Sets the <var>name</var> of the guest.
This name will be displayed in the SDL window caption.
The <var>name</var> will also be used for the VNC server.
Also optionally set the top visible process name in Linux.
</p></dd>
<dt> ‘<samp>-uuid <var>uuid</var></samp>’</dt>
<dd><p>Set system UUID.
</p></dd>
</dl>
<p>Display options:
</p><dl compact="compact">
<dt> ‘<samp>-nographic</samp>’</dt>
<dd>
<p>Normally, QEMU uses SDL to display the VGA output. With this option,
you can totally disable graphical output so that QEMU is a simple
command line application. The emulated serial port is redirected on
the console. Therefore, you can still use QEMU to debug a Linux kernel
with a serial console.
</p></dd>
<dt> ‘<samp>-curses</samp>’</dt>
<dd>
<p>Normally, QEMU uses SDL to display the VGA output. With this option,
QEMU can display the VGA output when in text mode using a
curses/ncurses interface. Nothing is displayed in graphical mode.
</p></dd>
<dt> ‘<samp>-no-frame</samp>’</dt>
<dd>
<p>Do not use decorations for SDL windows and start them using the whole
available screen space. This makes the using QEMU in a dedicated desktop
workspace more convenient.
</p></dd>
<dt> ‘<samp>-alt-grab</samp>’</dt>
<dd>
<p>Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt).
</p></dd>
<dt> ‘<samp>-ctrl-grab</samp>’</dt>
<dd>
<p>Use Right-Ctrl to grab mouse (instead of Ctrl-Alt).
</p></dd>
<dt> ‘<samp>-no-quit</samp>’</dt>
<dd>
<p>Disable SDL window close capability.
</p></dd>
<dt> ‘<samp>-sdl</samp>’</dt>
<dd>
<p>Enable SDL.
</p></dd>
<dt> ‘<samp>-portrait</samp>’</dt>
<dd>
<p>Rotate graphical output 90 deg left (only PXA LCD).
</p></dd>
<dt> ‘<samp>-vga <var>type</var></samp>’</dt>
<dd><p>Select type of VGA card to emulate. Valid values for <var>type</var> are
</p><dl compact="compact">
<dt> ‘<samp>cirrus</samp>’</dt>
<dd><p>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.
(This one is the default)
</p></dd>
<dt> ‘<samp>std</samp>’</dt>
<dd><p>Standard VGA card with Bochs VBE extensions. If your guest OS
supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
to use high resolution modes (>= 1280x1024x16) then you should use
this option.
</p></dd>
<dt> ‘<samp>vmware</samp>’</dt>
<dd><p>VMWare SVGA-II compatible adapter. Use it if you have sufficiently
recent XFree86/XOrg server or Windows guest with a driver for this
card.
</p></dd>
<dt> ‘<samp>none</samp>’</dt>
<dd><p>Disable VGA card.
</p></dd>
</dl>
</dd>
<dt> ‘<samp>-full-screen</samp>’</dt>
<dd><p>Start in full screen.
</p></dd>
<dt> ‘<samp>-vnc <var>display</var>[,<var>option</var>[,<var>option</var>[,...]]]</samp>’</dt>
<dd>
<p>Normally, QEMU uses SDL to display the VGA output. With this option,
you can have QEMU listen on VNC display <var>display</var> and redirect the VGA
display over the VNC session. It is very useful to enable the usb
tablet device when using this option (option ‘<samp>-usbdevice
tablet</samp>’). When using the VNC display, you must use the ‘<samp>-k</samp>’
parameter to set the keyboard layout if you are not using en-us. Valid
syntax for the <var>display</var> is
</p>
<dl compact="compact">
<dt> ‘<samp><var>host</var>:<var>d</var></samp>’</dt>
<dd>
<p>TCP connections will only be allowed from <var>host</var> on display <var>d</var>.
By convention the TCP port is 5900+<var>d</var>. Optionally, <var>host</var> can
be omitted in which case the server will accept connections from any host.
</p>
</dd>
<dt> ‘<samp>unix:<var>path</var></samp>’</dt>
<dd>
<p>Connections will be allowed over UNIX domain sockets where <var>path</var> is the
location of a unix socket to listen for connections on.
</p>
</dd>
<dt> ‘<samp>none</samp>’</dt>
<dd>
<p>VNC is initialized but not started. The monitor <code>change</code> command
can be used to later start the VNC server.
</p>
</dd>
</dl>
<p>Following the <var>display</var> value there may be one or more <var>option</var> flags
separated by commas. Valid options are
</p>
<dl compact="compact">
<dt> ‘<samp>reverse</samp>’</dt>
<dd>
<p>Connect to a listening VNC client via a “reverse” connection. The
client is specified by the <var>display</var>. For reverse network
connections (<var>host</var>:<var>d</var>,<code>reverse</code>), the <var>d</var> argument
is a TCP port number, not a display number.
</p>
</dd>
<dt> ‘<samp>password</samp>’</dt>
<dd>
<p>Require that password based authentication is used for client connections.
The password must be set separately using the <code>change</code> command in the
<a href="#pcsys_005fmonitor">QEMU Monitor</a>
</p>
</dd>
<dt> ‘<samp>tls</samp>’</dt>
<dd>
<p>Require that client use TLS when communicating with the VNC server. This
uses anonymous TLS credentials so is susceptible to a man-in-the-middle
attack. It is recommended that this option be combined with either the
‘<samp>x509</samp>’ or ‘<samp>x509verify</samp>’ options.
</p>
</dd>
<dt> ‘<samp>x509=<var>/path/to/certificate/dir</var></samp>’</dt>
<dd>
<p>Valid if ‘<samp>tls</samp>’ is specified. Require that x509 credentials are used
for negotiating the TLS session. The server will send its x509 certificate
to the client. It is recommended that a password be set on the VNC server
to provide authentication of the client when this is used. The path following
this option specifies where the x509 certificates are to be loaded from.
See the <a href="#vnc_005fsecurity">VNC security</a> section for details on generating certificates.
</p>
</dd>
<dt> ‘<samp>x509verify=<var>/path/to/certificate/dir</var></samp>’</dt>
<dd>
<p>Valid if ‘<samp>tls</samp>’ is specified. Require that x509 credentials are used
for negotiating the TLS session. The server will send its x509 certificate
to the client, and request that the client send its own x509 certificate.
The server will validate the client’s certificate against the CA certificate,
and reject clients when validation fails. If the certificate authority is
trusted, this is a sufficient authentication mechanism. You may still wish
to set a password on the VNC server as a second authentication layer. The
path following this option specifies where the x509 certificates are to
be loaded from. See the <a href="#vnc_005fsecurity">VNC security</a> section for details on generating
certificates.
</p>
</dd>
<dt> ‘<samp>sasl</samp>’</dt>
<dd>
<p>Require that the client use SASL to authenticate with the VNC server.
The exact choice of authentication method used is controlled from the
system / user’s SASL configuration file for the ’qemu’ service. This
is typically found in /etc/sasl2/qemu.conf. If running QEMU as an
unprivileged user, an environment variable SASL_CONF_PATH can be used
to make it search alternate locations for the service config.
While some SASL auth methods can also provide data encryption (eg GSSAPI),
it is recommended that SASL always be combined with the ’tls’ and
’x509’ settings to enable use of SSL and server certificates. This
ensures a data encryption preventing compromise of authentication
credentials. See the <a href="#vnc_005fsecurity">VNC security</a> section for details on using
SASL authentication.
</p>
</dd>
<dt> ‘<samp>acl</samp>’</dt>
<dd>
<p>Turn on access control lists for checking of the x509 client certificate
and SASL party. For x509 certs, the ACL check is made against the
certificate’s distinguished name. This is something that looks like
<code>C=GB,O=ACME,L=Boston,CN=bob</code>. For SASL party, the ACL check is
made against the username, which depending on the SASL plugin, may
include a realm component, eg <code>bob</code> or <code>[email protected]</code>.
When the ‘<samp>acl</samp>’ flag is set, the initial access list will be
empty, with a <code>deny</code> policy. Thus no one will be allowed to
use the VNC server until the ACLs have been loaded. This can be
achieved using the <code>acl</code> monitor command.
</p>
</dd>
</dl>
</dd>
</dl>
<p>i386 target only:
</p><dl compact="compact">
<dt> ‘<samp>-win2k-hack</samp>’</dt>
<dd><p>Use it when installing Windows 2000 to avoid a disk full bug. After
Windows 2000 is installed, you no longer need this option (this option
slows down the IDE transfers).
</p></dd>
<dt> ‘<samp>-no-fd-bootchk</samp>’</dt>
<dd><p>Disable boot signature checking for floppy disks in Bochs BIOS. It may
be needed to boot from old floppy disks.
</p></dd>
<dt> ‘<samp>-no-acpi</samp>’</dt>
<dd><p>Disable ACPI (Advanced Configuration and Power Interface) support. Use
it if your guest OS complains about ACPI problems (PC target machine
only).
</p></dd>
<dt> ‘<samp>-no-hpet</samp>’</dt>
<dd><p>Disable HPET support.
</p></dd>
<dt> ‘<samp>-balloon none</samp>’</dt>
<dd><p>Disable balloon device.
</p></dd>
<dt> ‘<samp>-balloon virtio[,addr=<var>addr</var>]</samp>’</dt>
<dd><p>Enable virtio balloon device (default), optionally with PCI address
<var>addr</var>.
</p></dd>
<dt> ‘<samp>-acpitable [sig=<var>str</var>][,rev=<var>n</var>][,oem_id=<var>str</var>][,oem_table_id=<var>str</var>][,oem_rev=<var>n</var>] [,asl_compiler_id=<var>str</var>][,asl_compiler_rev=<var>n</var>][,data=<var>file1</var>[:<var>file2</var>]...]</samp>’</dt>
<dd><p>Add ACPI table with specified header fields and context from specified files.
</p></dd>
<dt> ‘<samp>-smbios file=<var>binary</var></samp>’</dt>
<dd><p>Load SMBIOS entry from binary file.
</p>
</dd>
<dt> ‘<samp>-smbios type=0[,vendor=<var>str</var>][,version=<var>str</var>][,date=<var>str</var>][,release=<var>%d.%d</var>]</samp>’</dt>
<dd><p>Specify SMBIOS type 0 fields
</p>
</dd>
<dt> ‘<samp>-smbios type=1[,manufacturer=<var>str</var>][,product=<var>str</var>][,version=<var>str</var>][,serial=<var>str</var>][,uuid=<var>uuid</var>][,sku=<var>str</var>][,family=<var>str</var>]</samp>’</dt>
<dd><p>Specify SMBIOS type 1 fields
</p>
</dd>
</dl>
<p>Network options:
</p><dl compact="compact">
<dt> ‘<samp>-net nic[,vlan=<var>n</var>][,macaddr=<var>mac</var>][,model=<var>type</var>][,name=<var>name</var>][,addr=<var>addr</var>][,vectors=<var>v</var>]</samp>’</dt>
<dd><p>Create a new Network Interface Card and connect it to VLAN <var>n</var> (<var>n</var>
= 0 is the default). The NIC is an e1000 by default on the PC
target. Optionally, the MAC address can be changed to <var>mac</var>, the
device address set to <var>addr</var> (PCI cards only),
and a <var>name</var> can be assigned for use in monitor commands.
Optionally, for PCI cards, you can specify the number <var>v</var> of MSI-X vectors
that the card should have; this option currently only affects virtio cards; set
<var>v</var> = 0 to disable MSI-X. If no ‘<samp>-net</samp>’ option is specified, a single
NIC is created. Qemu can emulate several different models of network card.
Valid values for <var>type</var> are
<code>virtio</code>, <code>i82551</code>, <code>i82557b</code>, <code>i82559er</code>,
<code>ne2k_pci</code>, <code>ne2k_isa</code>, <code>pcnet</code>, <code>rtl8139</code>,
<code>e1000</code>, <code>smc91c111</code>, <code>lance</code> and <code>mcf_fec</code>.
Not all devices are supported on all targets. Use -net nic,model=?
for a list of available devices for your target.
</p>
</dd>
<dt> ‘<samp>-net user[,<var>option</var>][,<var>option</var>][,...]</samp>’</dt>
<dd><p>Use the user mode network stack which requires no administrator
privilege to run. Valid options are:
</p>
<dl compact="compact">
<dt> ‘<samp>vlan=<var>n</var></samp>’</dt>