1bochsrc(5) The Bochs Project bochsrc(5)
2
3
4
6 bochsrc - Configuration file for Bochs.
7
9 Bochsrc is the configuration file that specifies where Bochs
10 should look for disk images, how the Bochs emulation layer should
11 work, etc. The syntax used for bochsrc can also be used as com‐
12 mand line arguments for Bochs. The .bochsrc file should be placed ei‐
13 ther in the current directory before running Bochs or in your home
14 directory.
15
16 Starting with Bochs 1.3, you can use environment variables in the
17 bochsrc file, for example:
18
19 floppya: 1_44="$IMAGES/bootdisk.img", status=inserted
20
21 Starting with version 2.0, two environment variables have a built-in
22 default value which is set at compile time. $BXSHARE points to the
23 "share" directory which is typically /usr/share/bochs on UNIX machines.
24 See the $(sharedir) variable in the Makefile for the exact value.
25 $BXSHARE is used by disk images to locate the directory where the BIOS
26 images and keymaps can be found. If $BXSHARE is not defined, Bochs
27 will supply the default value. Also, $LTDL_LIBRARY_PATH points to a
28 list of directories (separated by colons if more than one) to search in
29 for Bochs plugins. A compile-time default is provided if this variable
30 is not defined by the user.
31
33 #include
34 This option includes another configuration file. It is possible
35 to put installation defaults in a global config file (e.g. loca‐
36 tion of rom images).
37
38 Example:
39 #include /etc/bochsrc
40
41
42 plugin_ctrl:
43 Controls the presence of optional device plugins. These plugins
44 are loaded directly with this option and some of them install a
45 config option that is only available when the plugin device is
46 loaded. The value "1" means to load the plugin and "0" will un‐
47 load it (if loaded before).
48
49 These plugins will be loaded by default (if present): 'biosdev',
50 'extfpuirq', 'gameport', 'iodebug','parallel', 'serial',
51 'speaker' and 'unmapped'.
52
53 These plugins are also supported, but they are usually loaded
54 directly with their bochsrc option: 'e1000', 'es1370', 'ne2k',
55 'pcidev', 'pcipnic', 'sb16', 'usb_ehci', 'usb_ohci', 'usb_uhci',
56 'usb_xhci' and 'voodoo'.
57
58 Example:
59 plugin_ctrl: unmapped=0, e1000=1 # unload 'unmapped' and load
60 'e1000'
61
62
63 config_interface:
64 The configuration interface is a series of menus or dialog boxes
65 that allows you to change all the settings that control Bochs's
66 behavior. Depending on the platform there are up to 3 choices
67 of configuration interface: a text mode version called "textcon‐
68 fig" and two graphical versions called "win32config" and "wx".
69 The text mode version uses stdin/stdout or gui console (if
70 available / runtime config) and is always compiled in, unless
71 Bochs is compiled for wx only. The choice "win32config" is only
72 available on win32/win64 and it is the default on these plat‐
73 forms. The choice "wx" is only available when Bochs is compiled
74 with wxWidgets support. If you do not write a config_interface
75 line, Bochs will choose a default for you.
76
77 NOTE: if you use the "wx" configuration interface, you must also
78 use the "wx" display library.
79
80 Example:
81 config_interface: textconfig
82
83
84 display_library:
85 The display library is the code that displays the Bochs VGA
86 screen. Bochs has a selection of about 10 different display li‐
87 brary implementations for different platforms. If you run con‐
88 figure with multiple --with-* options, the display_library com‐
89 mand lets you choose which one you want to run with. If you do
90 not write a display_library line, Bochs will choose a default
91 for you.
92
93 The choices are:
94 x X windows interface, cross platform
95 win32 native win32 libraries
96 carbon Carbon library (for MacOS X)
97 macintosh MacOS pre-10
98 amigaos native AmigaOS libraries
99 sdl SDL 1.2.x library, cross platform
100 sdl2 SDL 2.x library, cross platform
101 term text only, uses curses/ncurses library, cross
102 platform
103 rfb provides an interface to AT&T's VNC viewer, cross
104 platform
105 vncsrv use LibVNCServer for extended RFB(VNC) support
106 wx wxWidgets library, cross platform
107 nogui no display at all
108
109 NOTE: If you use the "wx" configuration interface, you must also
110 use the "wx" display library.
111
112 Specific options: Some display libraries now support specific
113 options to control their behaviour. These options are supported
114 by more than one display library:
115
116 "cmdmode" - call a headerbar button handler after pressing
117 F7 (x, sdl, sdl2)
118 "fullscreen" - startup in fullscreen mode (sdl, sdl2)
119 "gui_debug" - use GTK debugger gui (sdl, sdl2, x)
120 "hideIPS" - disable IPS output in status bar (rfb, sdl,
121 sdl2, term, vncsrv, wx, x)
122 "nokeyrepeat" - turn off host keyboard repeat (sdl, sdl2, x)
123 "no_gui_console" - use system console instead of builtin gui
124 console (rfb, sdl, sdl2, vncsrv, x)
125 "timeout" - time (in seconds) to wait for client (rfb,
126 vncsrv)
127
128 NOTE: Setting up options without specifying display library is
129 also supported.
130
131 Examples:
132 display_library: x
133 display_library: sdl2, options=fullscreen,hideIPS
134 display_library: options=cmdmode
135
136
137 cpu: This defines cpu-related parameters inside Bochs:
138
139 model:
140
141 Selects CPU configuration to emulate from pre-defined list of
142 all supported configurations. When this option is used and the
143 value is different from 'bx_generic', the parameters of the
144 CPUID option have no effect anymore. See the bochsrc sample for
145 supported values.
146
147 count:
148
149 Set the number of processors:cores per processor:threads per
150 core when Bochs is compiled for SMP emulation. Bochs currently
151 supports up to 14 threads (legacy APIC) or 254 threads (xAPIC or
152 higher) running simultaniosly. If Bochs is compiled without SMP
153 support, it won't accept values different from 1.
154
155 quantum:
156
157 Maximum amount of instructions allowed to execute by processor
158 before returning control to another cpu. This option exists only
159 in Bochs binary compiled with SMP support.
160
161 reset_on_triple_fault:
162
163 Reset the CPU when triple fault occur (highly recommended)
164 rather than PANIC. Remember that if you trying to continue after
165 triple fault the simulation will be completely bogus !
166
167 cpuid_limit_winnt:
168
169 Determine whether to limit maximum CPUID function to 2. This
170 mode is required to workaround WinNT installation and boot is‐
171 sues.
172
173 mwait_is_nop:
174
175 When this option is enabled MWAIT will not put the CPU into a
176 sleep state. This option exists only if Bochs compiled with
177 --enable-monitor-mwait.
178
179 msrs:
180
181 Define path to user CPU Model Specific Registers (MSRs) specifi‐
182 cation. See example in msrs.def.
183
184 ignore_bad_msrs:
185
186 Ignore MSR references that Bochs does not understand; print a
187 warning message instead of generating #GP exception. This option
188 is enabled by default but will not be available if configurable
189 MSRs are enabled.
190
191 ips:
192
193 Emulated Instructions Per Second. This is the number of IPS
194 that Bochs is capable of running on your machine. You can re‐
195 compile Bochs with --enable-show-ips option enabled, to find
196 your workstation's capability. Measured IPS value will then be
197 logged into your log file or status bar (if supported by the
198 gui).
199
200 IPS is used to calibrate many time-dependent events within
201 the bochs simulation. For example, changing IPS affects the
202 frequency of VGA updates, the duration of time before a key
203 starts to autorepeat, and the measurement of BogoMips and
204 other benchmarks.
205
206 Example Specifications[1]
207
208 Bochs Machine/Compiler Mips
209 ──────────────────────────────────────────────────────────────
210 2.4.6 3.4Ghz Core i7 2600 w/ Win7x64/g++ 4.5.2 85-95 Mips
211 2.3.7 3.2Ghz Core 2 Q9770 w/ WinXP/g++ 3.4 50-55 Mips
212 2.3.7 2.6Ghz Core 2 Duo w/ WinXP/g++ 3.4 38-43 Mips
213 2.2.6 2.6Ghz Core 2 Duo w/ WinXP/g++ 3.4 21-25 Mips
214 2.2.6 2.1Ghz Athlon XP w/ Linux 2.6/g++ 3.4 12-15 Mips
215
216 [1] IPS measurements depend on OS and compiler configuration
217 in addition to processor clock speed.
218
219 Example:
220 cpu: count=2, ips=10000000, msrs="msrs.def"
221
222
223 cpuid: This defines features and functionality supported by Bochs emu‐
224 lated CPU:
225
226 level:
227
228 Set emulated CPU level information returned by CPUID. Default
229 value is determined by configure option --enable-cpu-level. Cur‐
230 rently supported values are 5 (for Pentium and similar proces‐
231 sors) and 6 (for P6 and later processors).
232
233 family:
234
235 Set family information returned by CPUID. Default family value
236 determined by configure option --enable-cpu-level.
237
238 model:
239
240 Set model information returned by CPUID. Default model value is
241 3.
242
243 stepping:
244
245 Set stepping information returned by CPUID. Default stepping
246 value is 3.
247
248 vendor_string:
249
250 Set the CPUID vendor string returned by CPUID(0x0). This should
251 be a twelve-character ASCII string.
252
253 brand_string:
254
255 Set the CPUID vendor string returned by CPUID(0x80000002 ..
256 0x80000004). This should be at most a forty-eight-character
257 ASCII string.
258
259 mmx:
260
261 Select MMX instruction set support. This option exists only if
262 Bochs compiled with BX_CPU_LEVEL >= 5.
263
264 apic:
265
266 Select APIC configuration (LEGACY/XAPIC/XAPIC_EXT/X2APIC). This
267 option exists only if Bochs compiled with BX_CPU_LEVEL >= 5.
268
269 sep:
270
271 Select SYSENTER/SYSEXIT instruction set support. This option
272 exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
273
274 simd:
275
276 Select SIMD instructions support. Any of
277 NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2/AVX/AVX2/AVX512 could be
278 selected.
279
280 This option exists only if Bochs compiled with BX_CPU_LEVEL >=
281 6. The AVX choises exists only if Bochs compiled with --enable-
282 avx option.
283
284 sse4a:
285
286 Select AMD SSE4A instructions support. This option exists only
287 if Bochs compiled with BX_CPU_LEVEL >= 6.
288
289 misaligned_sse:
290
291 Select AMD Misaligned SSE mode support. This option exists only
292 if Bochs compiled with BX_CPU_LEVEL >= 6.
293
294 aes:
295
296 Select AES instruction set support. This option exists only if
297 Bochs compiled with BX_CPU_LEVEL >= 6.
298
299 sha:
300
301 Select SHA instruction set support. This option exists only if
302 Bochs compiled with BX_CPU_LEVEL >= 6.
303
304 movbe:
305
306 Select MOVBE Intel(R) Atom instruction support. This option ex‐
307 ists only if Bochs compiled with BX_CPU_LEVEL >= 6.
308
309 adx:
310
311 Select ADCX/ADOX instructions support. This option exists only
312 if Bochs compiled with BX_CPU_LEVEL >= 6.
313
314 xsave:
315
316 Select XSAVE extensions support. This option exists only if
317 Bochs compiled with BX_CPU_LEVEL >= 6.
318
319 xsaveopt:
320
321 Select XSAVEOPT instruction support. This option exists only if
322 Bochs compiled with BX_CPU_LEVEL >= 6.
323
324 avx_f16c:
325
326 Select AVX float16 convert instructions support. This option
327 exists only if Bochs compiled with --enable-avx option.
328
329 avx_fma:
330
331 Select AVX fused multiply add (FMA) instructions support. This
332 option exists only if Bochs compiled with --enable-avx option.
333
334 bmi:
335
336 Select BMI1/BMI2 instructions support. This option exists only
337 if Bochs compiled with --enable-avx option.
338
339 fma4:
340
341 Select AMD four operand FMA instructions support. This option
342 exists only if Bochs compiled with --enable-avx option.
343
344 xop:
345
346 Select AMD XOP instructions support. This option exists only if
347 Bochs compiled with --enable-avx option.
348
349 tbm:
350
351 Select AMD TBM instructions support. This option exists only if
352 Bochs compiled with --enable-avx option.
353
354 x86_64:
355
356 Enable x85-64 and long mode support. This option exists only if
357 Bochs compiled with x86-64 support.
358
359 1g_pages:
360
361 Enable 1G page size support in long mode. This option exists
362 only if Bochs compiled with x86-64 support.
363
364 pcid:
365
366 Enable Process-Context Identifiers (PCID) support in long mode.
367 This option exists only if Bochs compiled with x86-64 support.
368
369 smep:
370
371 Enable Supervisor Mode Execution Protection (SMEP) support.
372 This option exists only if Bochs compiled with BX_CPU_LEVEL >=
373 6.
374
375 smap:
376
377 Enable Supervisor Mode Access Prevention (SMAP) support. This
378 option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
379
380 mwait:
381
382 Select MONITOR/MWAIT instructions support. This option exists
383 only if Bochs compiled with --enable-monitor-mwait.
384
385 vmx:
386
387 Select VMX extensions emulation support. This option exists
388 only if Bochs compiled with --enable-vmx option.
389
390 svm:
391
392 Select AMD SVM (Secure Virtual Machine) extensions emulation
393 support. This option exists only if Bochs compiled with --en‐
394 able-svm option.
395
396 Example:
397 cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1,
398 xsave=1
399
400
401 memory:
402 Set the amount of physical memory you want to emulate.
403
404 guest:
405
406 Set amount of guest physical memory to emulate. The default is
407 32MB, the maximum amount limited only by physical address space
408 limitations.
409
410 host:
411
412 Set amount of host memory you want to allocate for guest RAM em‐
413 ulation. It is possible to allocate less memory than you want
414 to emulate in guest system. This will fake guest to see the non-
415 existing memory. Once guest system touches new memory block it
416 will be dynamically taken from the memory pool. You will be
417 warned (by FATAL PANIC) in case guest already used all allocated
418 host memory and wants more.
419
420 Example:
421 memory: guest=512, host=256
422
423
424 megs: The 'megs:' option sets the 'guest' and 'host' memory parameters
425 to the same value. In all other cases the 'memory' option should
426 be used instead.
427
428 Example:
429 megs: 32
430
431
432 romimage:
433 The ROM BIOS controls what the PC does when it first powers on.
434 Normally, you can use a precompiled BIOS in the source or binary
435 distribution called BIOS-bochs-latest. The default ROM BIOS is
436 usually loaded starting at address 0xfffe0000, and it is exactly
437 128k long. The legacy version of the Bochs BIOS is usually
438 loaded starting at address 0xffff0000, and it is exactly 64k
439 long. You can use the environment variable $BXSHARE to specify
440 the location of the BIOS. The usage of external large BIOS im‐
441 ages (up to 512k) at memory top is now supported, but we still
442 recommend to use the BIOS distributed with Bochs. The start ad‐
443 dress is optional, since it can be calculated from image size.
444 The Bochs BIOS currently supports only the option "fastboot" to
445 skip the boot menu delay.
446
447 Examples:
448 romimage: file=bios/BIOS-bochs-latest, options=fastboot
449 romimage: file=$BXSHARE/BIOS-bochs-legacy
450 romimage: file=mybios.bin, address=0xfff80000
451
452
453 vgaromimage:
454 You also need to load a VGA ROM BIOS into 0xC0000.
455
456 Examples:
457 vgaromimage: file=bios/VGABIOS-elpin-2.40
458 vgaromimage: file=bios/VGABIOS-lgpl-latest
459 vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
460
461
462 optromimage1: , optromimage2: , optromimage3: or optromimage4:
463 You may now load up to 4 optional ROM images. Be sure to use a
464 read-only area, typically between C8000 and EFFFF. These op‐
465 tional ROM images should not overwrite the rombios (located at
466 F0000-FFFFF) and the videobios (located at C0000-C7FFF). Those
467 ROM images will be initialized by the bios if they contain the
468 right signature (0x55AA). It can also be a convenient way to
469 upload some arbitrary code/data in the simulation, that can be
470 retrieved by the boot loader
471
472 Example:
473 optromimage1: file=optionalrom.bin, address=0xd0000
474
475
476 vga: This defines parameters related to the VGA display.
477
478 extension:
479
480 Here you can specify the display extension to be used. With the
481 value 'none' you can use standard VGA with no extension. Other
482 supported values are 'vbe' for Bochs VBE, 'cirrus' for Cirrus
483 SVGA support and 'voodoo' for Voodoo Graphics support (see
484 'voodoo' option).
485
486 update_freq:
487
488 This parameter specifies the number of display updates per sec‐
489 ond. The VGA update timer by default uses the realtime engine
490 with a value of 5. This parameter can be changed at runtime.
491
492 realtime:
493
494 If set to 1 (default), the VGA timer is based on realtime, oth‐
495 erwise it is driven by the cpu and depends on the ips setting.
496 If the host is slow (low ips, update_freq) and the guest uses
497 HLT appropriately, setting this to 0 and "clock: sync=none" may
498 improve the responsiveness of the guest GUI when the guest is
499 otherwise idle.
500
501 ddc:
502
503 This parameter defines the behaviour of the DDC emulation that
504 returns the monitor EDID data. By default the 'builtin' values
505 for 'Bochs Screen' are used. Other choices are 'disabled' (no
506 DDC emulation) and 'file' (read monitor EDID from file / path
507 name separated with a colon).
508
509 Examples:
510 vga: extension=none, update_freq=10, realtime=0, ddc=disabled
511 vga: extension=cirrus, update_freq=30, ddc=file:monitor.bin
512 vga: extension=vbe
513
514
515 voodoo:
516 This defines the Voodoo Graphics emulation (experimental). Cur‐
517 rently supported models are 'voodoo1', 'voodoo2', 'banshee' and
518 'voodoo3'. The Voodoo2 support is not yet complete, but almost
519 usable. The Banshee / Voodoo3 support is under construction, but
520 basically usable. The 2D/3D cards require an external VGA BIOS
521 the vga extension option to be set to 'voodoo'. If the i440BX
522 PCI chipset is selected, they can be assigned to AGP (slot #5).
523 The gui screen update timing for all models is controlled by the
524 related 'vga' options.
525
526 Example:
527 voodoo: enabled=1, model=voodoo1
528
529
530 keyboard:
531 This defines parameters related to the emulated keyboard:
532
533 type:
534
535 Type of keyboard return by a "identify keyboard" command to the
536 keyboard controller. It must be one of "xt", "at" or "mf". De‐
537 faults to "mf". It should be ok for almost everybody. A known
538 exception is french macs, that do have a "at"-like keyboard.
539
540 serial_delay:
541
542 Approximate time in microseconds that it takes one character to
543 be transferred from the keyboard to controller over the serial
544 path.
545
546 paste_delay:
547
548 Approximate time in microseconds between attempts to paste char‐
549 acters to the keyboard controller. This leaves time for the
550 guest os to deal with the flow of characters. The ideal setting
551 depends on how your operating system processes characters. The
552 default of 100000 usec (.1 seconds) was chosen because it works
553 consistently in Windows.
554
555 If your OS is losing characters during a paste, increase the
556 paste delay until it stops losing characters.
557
558 keymap:
559
560 This enables a remap of a physical localized keyboard to a vir‐
561 tualized us keyboard, as the PC architecture expects.
562
563 user_shortcut:
564
565 This defines the keyboard shortcut to be sent when you press the
566 "user" button in the header bar. The shortcut string is a combi‐
567 nation of maximum 3 key names (listed below) separated with a
568 '-' character.
569
570 Valid key names:
571
572 "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter",
573 "esc", "f1", ... "f12", "home", "ins", "left", "menu", "minus",
574 "pgdwn", "pgup", "plus", "power", "print", "right", "scrlck",
575 "shift", "space", "tab", "up" and "win".
576
577 Examples:
578 keyboard: type=mf, serial_delay=200, paste_delay=100000
579 keyboard: keymap=gui/keymaps/x11-pc-de.map
580 keyboard: user_shortcut=ctrl-alt-del
581
582
583 mouse: This defines parameters for the emulated mouse type, the initial
584 status of the mouse capture and the runtime method to toggle it.
585
586 type
587
588 With the mouse type option you can select the type of mouse to
589 emulate. The default value is 'ps2'. The other choices are
590 'imps2' (wheel mouse on PS/2), 'serial', 'serial_wheel', 'se‐
591 rial_msys' (one com port requires setting 'mode=mouse') 'inport'
592 and 'bus' (if present). To connect a mouse to a USB port, see
593 the 'usb_uhci', 'usb_ohci', 'usb_ehci' or 'usb_xhci' option (re‐
594 quires PCI and USB support).
595
596 enabled
597
598 The Bochs gui creates mouse "events" unless the 'enabled' option
599 is set to 0. The hardware emulation itself is not disabled by
600 this. Unless you have a particular reason for enabling the
601 mouse by default, it is recommended that you leave it off. You
602 can also toggle the mouse usage at runtime (RFB, SDL, Win32,
603 wxWidgets and X11 - see below).
604
605 toggle
606
607 The default method to toggle the mouse capture at runtime is to
608 press the CTRL key and the middle mouse button ('ctrl+mbutton').
609 This option allows to change the method to 'ctrl+f10' (like DOS‐
610 Box), 'ctrl+alt' (like QEMU) or 'f12'.
611
612 Examples:
613 mouse: enabled=1
614 mouse: type=imps2, enabled=1
615 mouse: type=serial, enabled=1
616 mouse: enabled=0, toggle=ctrl+f10
617
618
619 pci: This defines the parameters to set up the Bochs PCI emulation:
620
621 enabled
622
623 If Bochs is compiled with PCI support, it is enabled by default.
624
625 chipset
626
627 Currently the chipsets i430FX, i440FX and i440BX (limited) are
628 supported and the default is i440FX.
629
630 slotX
631
632 It is possible to specify the devices connected to PCI slots. Up
633 to 5 slots are available. For combined PCI/ISA devices assigning
634 to slot is mandatory if the PCI model should be emulated (cir‐
635 rus, ne2k and pcivga). Setting up slot for PCI-only devices is
636 also supported, but they are auto-assigned if not specified
637 (e1000, es1370, pcidev, pcipnic, usb_ehci, usb_ohci, usb_xhci,
638 voodoo). All device models except the network devices ne2k and
639 e1000 can be used only once in the slot configuration. In case
640 of the i440BX chipset, the slot #5 is the AGP slot. Currently
641 only the 'voodoo' device can be assigned to AGP.
642
643 advopts
644
645 With the advanced PCI options it is possible to control the be‐
646 haviour of the PCI chipset. These options can be specified as
647 comma-separated values. By default the "Bochs i440FX" chipset
648 enables the ACPI and HPET devices, but original i440FX doesn't
649 support them. The options 'noacpi' and 'nohpet' make it possible
650 to disable them. The option 'noagp' disables the incomplete AGP
651 subsystem of the i440BX chipset.
652
653 Example:
654 pci: enabled=1, chipset=i440fx, slot1=pcivga, slot2=ne2k, ad‐
655 vopts=noacpi
656
657
658 clock: This defines the parameters of the clock inside Bochs.
659
660 sync
661
662 This defines the method how to synchronize the Bochs internal
663 time with realtime. With the value 'none' the Bochs time relies
664 on the IPS value and no host time synchronization is used. The
665 'slowdown' method sacrifices performance to preserve repro‐
666 ducibility while allowing host time correlation. The 'realtime'
667 method sacrifices reproducibility to preserve performance and
668 host-time correlation. It is possible to enable both synchro‐
669 nization methods.
670
671 rtc_sync
672
673 If this option is enabled together with the realtime synchro‐
674 nization, the RTC runs at realtime speed. This feature is dis‐
675 abled by default.
676
677 time0
678
679 Specifies the start (boot) time of the virtual machine. Use a
680 time value as returned by the time(2) system call or a string as
681 returned by the ctime(3) system call. If no time0 value is set
682 or if time0 equal to 1 (special case) or if time0 equal 'local',
683 the simulation will be started at the current local host time.
684 If time0 equal to 2 (special case) or if time0 equal 'utc', the
685 simulation will be started at the current utc time.
686
687 Syntax:
688 clock: sync=[none|slowdown|realtime|both],
689 time0=[timeValue|local|utc]
690
691 Default value are sync=none, rtc_sync=0, time0=local
692
693 Example:
694 clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35
695 1999
696 clock: sync=realtime, time0="Sat Jan 1 00:00:00 2000" #
697 946681200
698
699
700 cmosimage:
701 This defines a binary image file with size 128 bytes that can be
702 loaded into the CMOS RAM at startup. The rtc_init parameter con‐
703 trols whether initialize the RTC with values stored in the im‐
704 age. By default the time0 argument given to the clock option is
705 used. With 'rtc_init=image' the image is the source for the ini‐
706 tial time.
707
708 Example:
709 cmosimage: file=cmos.img, rtc_init=time0
710
711
712 private_colormap:
713 Requests that the GUI create and use it's own non-shared col‐
714 ormap. This colormap will be used when in the bochs window.
715 If not enabled, a shared colormap scheme may be used. Once
716 again, enabled=1 turns on this feature and 0 turns it off.
717
718 Example:
719 private_colormap: enabled=1
720
721
722 floppya: or floppyb:
723
724 Point this to the pathname of a floppy image file or device.
725 Floppya is the first drive, and floppyb is the second drive.
726 If you're booting from a floppy, floppya should point to a
727 bootable disk.
728
729 You can set the initial status of the media to 'ejected' or 'in‐
730 serted'. Usually you will want to use 'inserted'.
731
732 The parameter 'type' can be used to enable the floppy drive
733 without media and status specified. Usually the drive type is
734 set up based on the media type.
735
736 The optional parameter 'write_protected' can be used to control
737 the media write protect switch. By default it is turned off.
738
739 Example:
740
741 2.88M 3.5" media:
742 floppya: 2_88=path, status=ejected
743
744 1.44M 3.5" media (write protected):
745 floppya: 1_44=path, status=inserted, write_protected=1
746
747 1.2M 5.25" media:
748 floppyb: 1_2=path, status=ejected
749
750 720K 3.5" media:
751 floppya: 720k=path, status=inserted
752
753 360K 5.25" media:
754 floppya: 360k=path, status=inserted
755
756 Autodetect floppy media type:
757 floppya: image=path, status=inserted
758
759 Use directory as 1.44M VFAT media:
760 floppya: 1_44=vvfat:path, status=inserted
761
762 1.44M 3.5" floppy drive, no media:
763 floppya: type=1_44
764
765
766 ata0: , ata1: , ata2: or ata3:
767
768 These options enables up to 4 ata channels. For each channel the
769 two base io addresses and the irq must be specified. ata0 and
770 ata1 are enabled by default, with the values shown below.
771
772 Examples:
773 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
774 ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
775 ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
776 ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
777
778
779 ata[0-3]-master: or ata[0-3]-slave:
780
781 This defines the type and characteristics of all attached ata
782 devices:
783 type= type of attached device [disk|cdrom]
784 path= path of the image
785 mode= image mode [flat|con‐
786 cat|sparse|vmware3|vmware4|undoable|grow‐
787 ing|volatile|vpc|vbox|vvfat], only valid for disks
788 cylinders= only valid for disks
789 heads= only valid for disks
790 spt= only valid for disks
791 status= only valid for cdroms [inserted|ejected]
792 biosdetect= type of biosdetection [auto|cmos|none]
793 translation=type of translation of the bios, only for disks
794 [none|lba|large|rechs|auto]
795 model= string returned by identify device command
796 journal= optional filename of the redolog for undoable,
797 volatile and vvfat disks
798
799 Point this at a hard disk image file, cdrom iso file, or a phys‐
800 ical cdrom device. To create a hard disk image, try running bx‐
801 image. It will help you choose the size and then suggest a line
802 that works with it.
803
804 In UNIX it is possible to use a raw device as a Bochs hard disk,
805 but WE DON'T RECOMMEND IT.
806
807 The path is mandatory for hard disks. Disk geometry autodetec‐
808 tion works with images created by bximage if CHS is set to 0/0/0
809 (cylinders are calculated using heads=16 and spt=63). For other
810 hard disk images and modes the cylinders, heads, and spt are
811 mandatory. In all cases the disk size reported from the image
812 must be exactly C*H*S*512.
813
814 The mode option defines how the disk image is handled. Disks can
815 be defined as:
816 - flat : one file flat layout
817 - concat : multiple files layout
818 - sparse : stackable, commitable, rollbackable
819 - vmware3 : vmware3 disk support
820 - vmware4 : vmware4 disk support (aka VMDK)
821 - undoable : flat file with commitable redolog
822 - growing : growing file
823 - volatile : flat file with volatile redolog
824 - vpc : fixed / dynamic size VirtualPC image
825 - vbox : fixed / dynamic size Oracle(tm) VM VirtualBox image
826 (VDI version 1.1)
827 - vvfat: local directory appears as read-only VFAT disk (with
828 volatile redolog)
829
830 The disk translation scheme (implemented in legacy int13 bios
831 functions, and used by older operating systems like MS-DOS), can
832 be defined as:
833 - none : no translation, for disks up to 528MB (1032192 sec‐
834 tors)
835 - large : a standard bitshift algorithm, for disks up to 4.2GB
836 (8257536 sectors)
837 - rechs : a revised bitshift algorithm, using a 15 heads fake
838 physical geometry, for disks up to 7.9GB (15482880 sectors).
839 (don't use this unless you understand what you're doing)
840 - lba : a standard lba-assisted algorithm, for disks up to
841 8.4GB (16450560 sectors)
842 - auto : autoselection of best translation scheme. (it should
843 be changed if system does not boot)
844
845 Default values are:
846 mode=flat, biosdetect=auto, translation=auto, model="Generic
847 1234"
848
849 The biosdetect option has currently no effect on the bios
850
851 Examples:
852 ata0-master: type=disk, path=10M.sample, cylinders=306,
853 heads=4, spt=17
854 ata0-slave: type=disk, path=20M.sample, cylinders=615,
855 heads=4, spt=17
856 ata1-master: type=disk, path=30M.sample, cylinders=615,
857 heads=6, spt=17
858 ata1-slave: type=disk, path=46M.sample, cylinders=940,
859 heads=6, spt=17
860 ata2-master: type=disk, path=62M.sample, cylinders=940,
861 heads=8, spt=17
862 ata2-slave: type=disk, path=112M.sample, cylinders=900,
863 heads=15, spt=17
864 ata3-master: type=disk, path=483M.sample, cylinders=1024,
865 heads=15, spt=63
866 ata3-slave: type=cdrom, path=iso.sample, status=inserted
867
868
869 boot: This defines the boot sequence. Now you can specify up to 3 boot
870 drives, which can be 'floppy', 'disk', 'cdrom' or 'network'
871 (boot ROM). Legacy 'a' and 'c' are also supported.
872
873 Example:
874 boot: cdrom, floppy, disk
875
876
877 floppy_bootsig_check:
878 This disables the 0xaa55 signature check on boot floppies The
879 check is enabled by default.
880
881 Example:
882 floppy_bootsig_check: disabled=1
883
884
885 log: Give the path of the log file you'd like Bochs debug and misc.
886 verbiage to be written to. If you really don't want it, make
887 it /dev/null.
888
889 Example:
890 log: bochs.out
891 log: /dev/tty (unix only)
892 log: /dev/null (unix only)
893
894
895 logprefix:
896 This handles the format of the string prepended to each log line
897 : You may use those special tokens :
898 %t : 11 decimal digits timer tick
899 %i : 8 hexadecimal digits of cpu0 current eip
900 %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic,
901 'e'rror)
902 %d : 5 characters string of the device, between brackets
903
904 Default : %t%e%d
905
906 Examples:
907 logprefix: %t-%e-@%i-%d
908 logprefix: %i%e%d
909
910
911 panic: If Bochs reaches a condition where it cannot emulate cor‐
912 rectly, it does a panic. This can be a configuration problem
913 (like a misspelled bochsrc line) or an emulation problem (like
914 an unsupported video mode). The "panic" setting in bochsrc
915 tells Bochs how to respond to a panic. You can set this
916 to fatal (terminate the session), ask (ask user how to pro‐
917 ceed) or report (print information to the log file).
918
919 The safest setting is action=fatal or action=ask. If you are
920 getting panics, you can try action=report instead. If you al‐
921 low Bochs to continue after a panic, don't be surprised if
922 you get strange behavior or crashes if a panic occurs. Please
923 report panic messages unless it is just a configuration problem
924 like "could not find hard drive image."
925
926 Examples:
927 panic: action=fatal
928 panic: action=ask
929
930
931
932 error: Bochs produces an error message when it finds a condi‐
933 tion that really shouldn't happen, but doesn't endanger the
934 simulation. An example of an error might be if the emulated
935 software produces an illegal disk command.
936
937 The "error" setting tells Bochs how to respond to an error
938 condition. You can set this to fatal (terminate the ses‐
939 sion), ask (ask user how to proceed), warn (show dialog with
940 message and continue), report (print information to the
941 log file), or ignore (do nothing).
942
943 Example:
944 error: action=report
945 error: action=warn
946
947
948 info: This setting tells Bochs what to do when an event occurs
949 that generates informational messages. You can set this to re‐
950 port (print information to the log file), or ignore (do noth‐
951 ing). For general usage, the "report" option is probably a good
952 choice.
953
954 Example:
955 info: action=report
956
957
958 debug: This setting tells Bochs what to do with messages in‐
959 tended to assist in debugging. You can set this to report
960 (print information to the log file), or ignore (do nothing).
961 You should generally set this to ignore, unless you are try‐
962 ing to diagnose a particular problem.
963
964 NOTE: When action=report, Bochs may spit out thousands of
965 debug messages per second, which can impact performance and fill
966 up your disk.
967
968 Example:
969 debug: action=ignore
970
971
972 debugger_log:
973 Give the path of the log file you'd like Bochs to log debugger
974 output. If you really don't want it, make it '/dev/null', or
975 '-'.
976
977 Example:
978 log: debugger.out
979 log: /dev/null (unix only)
980 log: -
981
982
983 com1: , com2: , com3: or com4:
984 This defines a serial port (UART type 16550A). In the 'term'
985 mode you can specify a device to use as com1. This can be a real
986 serial line, or a pty. To use a pty (under X/Unix), create two
987 windows (xterms, usually). One of them will run bochs, and the
988 other will act as com1. Find out the tty the com1 window using
989 the `tty' command, and use that as the `dev' parameter. Then do
990 `sleep 1000000' in the com1 window to keep the shell from mess‐
991 ing with things, and run bochs in the other window. Serial I/O
992 to com1 (port 0x3f8) will all go to the other window.
993
994 In socket* and pipe* (win32 only) modes Bochs becomes either
995 socket/named pipe client or server. In client mode it connects
996 to an already running server (if connection fails Bochs treats
997 com port as not connected). In server mode it opens socket/named
998 pipe and waits until a client application connects to it before
999 starting simulation. This mode is useful for remote debugging
1000 (e.g. with gdb's "target remote host:port" command or windbg's
1001 command line option -k com:pipe,port=\.ipeipename).
1002 Socket modes use simple TCP communication, pipe modes use duplex
1003 byte mode pipes.
1004
1005 Other serial modes are 'null' (no input/output), 'file' (output
1006 to a file specified as the 'dev' parameter and changeable at
1007 runtime), 'raw' (use the real serial port - partly implemented
1008 on win32) and 'mouse' (standard serial mouse - requires mouse
1009 option setting 'type=serial', 'type=serial_wheel' or 'type=se‐
1010 rial_msys')
1011
1012 Examples:
1013 com1: enabled=1, mode=term, dev=/dev/ttyp7
1014 com2: enabled=1, mode=file, dev=serial.out
1015 com1: enabled=1, mode=mouse
1016
1017
1018 parport1: or parport2:
1019 This defines a parallel (printer) port. When turned on and an
1020 output file is defined the emulated printer port sends charac‐
1021 ters printed by the guest OS into the output file. On some plat‐
1022 forms a device filename can be used to send the data to the real
1023 parallel port (e.g. "/dev/lp0" on Linux). The output file can be
1024 changed at runtime.
1025
1026 Examples:
1027 parport1: enabled=1, file=parport.out
1028 parport2: enabled=1, file="/dev/lp0"
1029 parport1: enabled=0
1030
1031
1032 sound: This defines the lowlevel sound driver(s) for the wave (PCM) in‐
1033 put / output and the MIDI output feature and (if necessary) the
1034 devices to be used. It can have several of the following prop‐
1035 erties. All properties are in the format sound: property=value
1036
1037 waveoutdrv:
1038 This defines the driver to be used for the waveout feature.
1039 Possible values are 'file' (all wave data sent to file),
1040 'dummy' (no
1041 output) and the platform-dependant drivers 'alsa', 'oss',
1042 'osx', 'sdl'
1043 and 'win'.
1044
1045 waveout:
1046 This defines the device to be used for wave output (if neces‐
1047 sary) or
1048 the output file for the 'file' driver.
1049
1050 waveindrv:
1051 This defines the driver to be used for the wavein feature.
1052 Possible values are 'dummy' (recording silence) and platform-
1053 dependent
1054 drivers 'alsa', 'oss', 'sdl' and 'win'.
1055
1056 wavein:
1057 This defines the device to be used for wave input (if neces‐
1058 sary).
1059
1060 midioutdrv:
1061 This defines the driver to be used for the MIDI output fea‐
1062 ture.
1063 Possible values are 'file' (all MIDI data sent to file),
1064 'dummy' (no
1065 output) and platform-dependent drivers 'alsa', 'oss', 'osx'
1066 and 'win'.
1067
1068 midiout:
1069 This defines the device to be used for MIDI output (if neces‐
1070 sary).
1071
1072 driver:
1073 This defines the driver to be used for all sound features with
1074 one
1075 property. Possible values are 'default' (platform default) and
1076 all
1077 other choices described above. Overriding one or more settings
1078 with
1079 the specific driver parameter is possible.
1080
1081 Example for one driver (uses platform-default):
1082 sound: driver=default, waveout=/dev/dsp Example for different
1083 drivers:
1084 sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
1085
1086
1087 speaker:
1088 This defines the PC speaker output mode. In the 'sound' mode the
1089 beep is generated by the square wave generator which is a part
1090 of the lowlevel sound support. In this mode the 'volume' parame‐
1091 ter can be used to set the output volume (0 - 15). The 'system'
1092 mode is only available on Linux and Windows. On Linux /dev/con‐
1093 sole is used for output and on Windows the Beep() function. The
1094 'gui' mode forwards the beep to the related gui methods (cur‐
1095 rently only used by the Carbon gui).
1096
1097 Example:
1098 speaker: enabled=1, mode=sound, volume=15
1099
1100
1101 sb16: This defines the SB16 sound emulation. It can have several of
1102 the following properties. All properties are in this format:
1103 sb16: property=value
1104
1105
1106 PROPERTIES FOR sb16:
1107
1108 enabled:
1109
1110 This optional property controls the presence of the SB16 emu‐
1111 lation.
1112 The emulation is turned on unless this property is used and
1113 set to 0.
1114
1115 midimode:
1116
1117 This parameter specifies what to do with the MIDI output.
1118
1119 0 = no output
1120 1 = output to device specified with the sound option (system
1121 dependent)
1122 2 = MIDI or raw data output to file (depends on file name ex‐
1123 tension)
1124 3 = dual output (mode 1 and 2 at the same time)
1125
1126 midifile:
1127
1128 This is the file where the midi output is stored (midimode 2
1129 or 3).
1130
1131 wavemode:
1132
1133 This parameter specifies what to do with the PCM output.
1134
1135 0 = no output
1136 1 = output to device specified with the sound option (system
1137 dependent)
1138 2 = VOC, WAV or raw data output to file (depends on file name
1139 extension)
1140 3 = dual output (mode 1 and 2 at the same time)
1141
1142 wavefile:
1143
1144 This is the file where the wave output is stored (wavemode 2
1145 or 3).
1146
1147 log:
1148
1149 The file to write the sb16 emulator messages to.
1150
1151 loglevel:
1152
1153 0 = No log.
1154 1 = Resource changes, midi program and bank changes.
1155 2 = Severe errors.
1156 3 = All errors.
1157 4 = All errors plus all port accesses.
1158 5 = All errors and port accesses plus a lot
1159 of extra information.
1160
1161 It is possible to change the loglevel at runtime.
1162
1163 dmatimer:
1164
1165 Microseconds per second for a DMA cycle. Make it smaller to fix
1166 non-continuous sound. 750000 is usually a good value. This
1167 needs a reasonably correct setting for the IPS parameter
1168 of the CPU option. It is possible to adjust the dmatimer at
1169 runtime.
1170
1171 Examples for output modes:
1172 sb16: midimode=2, midifile="output.mid", wavemode=1 # MIDI to
1173 file
1174 sb16: midimode=1, wavemode=3, wavefile="output.wav" # wave to
1175 file and device
1176
1177
1178 es1370:
1179 This defines the ES1370 sound emulation (recording and playback
1180 - except DAC1+DAC2 output at the same time). The parameter 'en‐
1181 abled' controls the presence of the device. The wave and MIDI
1182 output can be sent to device, file or both using the parameters
1183 'wavemode', 'wavefile', 'midimode' and 'midifile'. See the de‐
1184 scription of these parameters at the SB16 directive.
1185
1186 Example for using 'sound' parameters:
1187 es1370: enabled=1, wavemode=1 Example for sending output to
1188 file:
1189 es1370: enabled=1, wavemode=2, wavefile=output.voc
1190
1191
1192 ne2k: Defines the characteristics of an attached ne2000 isa card :
1193 card=CARD,
1194 type=TYPE,
1195 ioaddr=IOADDR,
1196 irq=IRQ,
1197 mac=MACADDR,
1198 ethmod=MODULE,
1199 ethdev=DEVICE,
1200 script=SCRIPT,
1201 bootrom=BOOTROM
1202
1203 PROPERTIES FOR ne2k:
1204
1205 CARD: This is the zero-based card number to configure with this
1206 ne2k config line. Up to 4 devices are supported now (0...3). If
1207 not specified, the following parameters apply to card #0.
1208
1209 TYPE: This is the card type to emulate ('isa' or 'pci'). If not
1210 specified, card #0 defaults to 'pci' if assigned to a pci slot.
1211 For the additional cards the type parameter should be set up.
1212
1213 IOADDR, IRQ: You probably won't need to change ioaddr and irq,
1214 unless there are IRQ conflicts. These parameters are ignored if
1215 the NE2000 is assigned to a PCI slot.
1216
1217 MAC: The MAC address MUST NOT match the address of any machine
1218 on the net. Also, the first byte must be an even number (bit 0
1219 set means a multicast address), and you cannot use
1220 ff:ff:ff:ff:ff:ff because that's the broadcast address. For the
1221 ethertap module, you must use fe:fd:00:00:00:01. There may be
1222 other restrictions too. To be safe, just use the b0:c4... ad‐
1223 dress.
1224
1225 ETHMOD: The ethmod value defines which low level OS specific
1226 module to be used to access physical ethernet interface. Current
1227 implemented values include
1228 - fbsd : ethernet on freebsd and openbsd
1229 - linux : ethernet on linux
1230 - win32 : ethernet on win32
1231 - tap : ethernet through a linux tap interface
1232 - tuntap : ethernet through a linux tuntap interface
1233 - slirp : built-in Slirp support with DHCP / TFTP servers
1234
1235 If you don't want to make connections to any physical networks,
1236 you can use the following 'ethmod's to simulate a virtual net‐
1237 work.
1238 - null : All packets are discarded, but logged to a few files
1239 - vde : Virtual Distributed Ethernet
1240 - vnet : ARP, ICMP-echo(ping), DHCP, DNS, FTP and TFTP are
1241 simulated
1242 The virtual host uses 192.168.10.1
1243 DHCP assigns 192.168.10.15 to the guest
1244 The FTP and TFTP servers use 'ethdev' for the root
1245 directory
1246 TFTP doesn't overwrite files, DNS for server and
1247 client only
1248 - socket : Connect up to 6 Bochs instances with external pro‐
1249 gram 'bxhub'
1250 (simulating an ethernet hub). It provides the same
1251 services as the
1252 'vnet' module and assigns IP addresses like 'slirp'
1253 (10.0.2.x).
1254
1255 ETHDEV: The ethdev value is the name of the network interface on
1256 your host platform. On UNIX machines, you can get the name by
1257 running ifconfig. On Windows machines, you must run niclist to
1258 get the name of the ethdev. Niclist source code is in
1259 misc/niclist.c and it is included in Windows binary releases.
1260 The 'socket' module uses this parameter to specify the UDP port
1261 for receiving packets and (optional) the host to connect.
1262
1263 SCRIPT: The script value is optional, and is the name of a
1264 script that is executed after bochs initialize the network in‐
1265 terface. You can use this script to configure this network in‐
1266 terface, or enable masquerading. This is mainly useful for the
1267 tun/tap devices that only exist during Bochs execution. The net‐
1268 work interface name is supplied to the script as first parame‐
1269 ter. The 'slirp' module uses this parameter to specify a config
1270 file for setting up an alternative IP configuration or addi‐
1271 tional features. The 'vnet' module also uses this parameter to
1272 specify a config file similar to slirp, but with only a few set‐
1273 tings.
1274
1275 BOOTROM: The bootrom value is optional, and is the name of the
1276 ROM image to load. Note that this feature is only implemented
1277 for the PCI version of the NE2000.
1278
1279 Examples:
1280 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd,
1281 ethdev=xlo
1282 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, eth‐
1283 mod=linux, ethdev=eth0
1284 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, eth‐
1285 mod=win32, ethdev=MYCARD
1286 ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap,
1287 ethdev=tap0
1288 ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tun‐
1289 tap, ethdev=/dev/net/tun0, script=./tunconfig
1290 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde,
1291 ethdev="/tmp/vde.ctl"
1292 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet,
1293 ethdev="c:/temp"
1294 ne2k: mac=b0:c4:20:00:00:01, ethmod=socket, ethdev=40000 # use
1295 localhost
1296 ne2k: card=0, mac=b0:c4:20:00:00:01, ethmod=socket, ethdev=my‐
1297 machine:40000
1298 ne2k: mac=b0:c4:20:00:00:01, ethmod=slirp, script=slirp.conf,
1299 bootrom=ne2k_pci.rom
1300
1301
1302 pcipnic:
1303 To support the Bochs/Etherboot pseudo-NIC, Bochs must be com‐
1304 piled with the --enable-pnic configure option. It accepts the
1305 same syntax (for mac, ethmod, ethdev, script, bootrom) and sup‐
1306 ports the same networking modules as the NE2000 adapter.
1307
1308 Example:
1309 pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet
1310
1311
1312 e1000: To support the Intel(R) 82540EM Gigabit Ethernet adapter, Bochs
1313 must be compiled with the --eanble-e1000 configure option. The
1314 E1000 accepts the same syntax (for card, mac, ethmod, ethdev,
1315 script, bootrom) and supports the same networking modules as the
1316 NE2000 adapter.
1317
1318 Example:
1319 e1000: card=0, enabled=1, mac=52:54:00:12:34:56, ethmod=slirp,
1320 script=slirp.conf
1321
1322
1323 usb_uhci:
1324 This option controls the presence of the USB root hub which is a
1325 part of the i440FX PCI chipset. With the portX parameter you can
1326 connect devices to the hub (currently supported: 'mouse',
1327 'tablet', 'keypad', 'keyboard', 'disk', 'cdrom', 'floppy', 'hub'
1328 and 'printer').
1329
1330 If you connect the mouse or tablet to one of the ports, Bochs
1331 forwards the mouse movement data to the USB device instead of
1332 the selected mouse type. When connecting the keypad to one of
1333 the ports, Bochs forwards the input of the numeric keypad to the
1334 USB device instead of the PS/2 keyboard. If the keyboard is se‐
1335 lected, all key events are sent to the USB device.
1336
1337 To connect a disk image as a USB hardisk you can use the 'disk'
1338 device. Use the 'path' option in the optionsX parameter to spec‐
1339 ify the path to the image separated with a colon. To use other
1340 disk image modes similar to ATA disks the syntax
1341 'path:mode:filename' must be used (see below).
1342
1343 To emulate a USB cdrom you can use the 'cdrom' device and the
1344 path to an ISO image or raw device name can be set with the
1345 'path' option in the optionsX parameter also separated with a
1346 colon. An option to insert/eject media is available in the run‐
1347 time configuration.
1348
1349 To emulate a USB floppy you can use the 'floppy' device and the
1350 path to a floppy image can be set with the 'path' option in the
1351 optionsX parameter separated with a colon. To use the VVFAT im‐
1352 age mode similar to the legacy floppy the syntax 'path:vvfat:di‐
1353 rectory' must be used (see below). An option to insert/eject
1354 media is available in the runtime configuration.
1355
1356 The device name 'hub' connects an external hub with max. 8 ports
1357 (default: 4) to the root hub. To specify the number of ports you
1358 have to use the 'ports' option in the optionsX parameter with
1359 the value separated with a colon. Connecting devices to the ex‐
1360 ternal hub ports is only available in the runtime configuration.
1361
1362 The device 'printer' emulates the HP Deskjet 920C printer. The
1363 PCL data is sent to a file specified in the 'file' option with
1364 the optionsX parameter. The current code appends the PCL code
1365 to the file if the file already existed. The output file can be
1366 changed at runtime.
1367
1368 The optionsX parameter can be used to assign specific options to
1369 the device connected to the corresponding USB port. The option
1370 'speed' can be used to set the speed reported by device ('low',
1371 'full', 'high' or 'super'). The available speed choices depend
1372 on both HC and device. The option 'debug' turns on debug output
1373 for the device at connection time. The option 'pcap' turns on
1374 packet logging in PCAP format. For the USB 'disk' device the
1375 optionsX parameter can be used to specify an alternative redolog
1376 file (journal) of some image modes. For 'vvfat' mode USB disks
1377 the optionsX parameter can be used to specify the disk size
1378 (range 128M ... 128G). If the size is not specified, it defaults
1379 to 504M. For the USB 'floppy' device the optionsX parameter can
1380 be used to specify an alternative device ID to be reported. Cur‐
1381 rently only the model "teac" is supported (can fix hw detection
1382 in some guest OS). The USB floppy also accepts the parameter
1383 "write_protected" with valid values 0 and 1 to select the access
1384 mode (default is 0).
1385
1386 Examples:
1387 usb_uhci: port1=mouse, port2=disk, options2="path:usb‐
1388 stick.img"
1389 usb_uhci: port1=hub, options1="ports:6"
1390 usb_uhci: port2=disk, options2="path:undoable:usbdisk.img,
1391 journal:u.redolog"
1392 usb_uhci: port2=disk, options2=""path:usbdisk2.img,
1393 sect_size:1024"
1394 usb_uhci: port2=disk, options2="path:vvfat:vvfat, debug,
1395 speed:full"
1396 usb_uhci: port2=cdrom, options2="path:image.iso"
1397 usb_uhci: port1=printer, options1="file:printdata.bin"
1398 usb_uhci: port2=floppy, options2="path:vvfat:diskette,
1399 model:teac"
1400
1401
1402 usb_ohci:
1403 This option controls the presence of the USB OHCI host con‐
1404 troller with a 2-port hub. The portX parameter accepts the same
1405 device types with the same syntax as the UHCI controller (see
1406 above). The optionsX parameter is also available on OHCI.
1407
1408 Example:
1409 usb_ohci: enabled=1
1410
1411
1412 usb_ehci:
1413 This option controls the presence of the USB EHCI host con‐
1414 troller with a 6-port hub. The portX parameter accepts the same
1415 device types with the same syntax as the UHCI controller (see
1416 above). The optionsX parameter is also available on EHCI.
1417
1418 Example:
1419 usb_ehci: enabled=1, port1=tablet, options1="speed:high"
1420
1421
1422 usb_xhci:
1423 This option controls the presence of the USB xHCI host con‐
1424 troller with a 4-port hub. The portX parameter accepts the same
1425 device types with the same syntax as the UHCI controller (see
1426 above). The optionsX parameter is also available on xHCI. NOTE:
1427 port 1 and 2 are USB3 and only support super-speed devices, but
1428 port 3 and 4 are USB2 and support speed settings low, full and
1429 high.
1430
1431 Example:
1432 usb_xhci: enabled=1
1433
1434
1435 pcidev:
1436 Enables the mapping of a host PCI hardware device within the PCI
1437 subsystem of the Bochs x86 emulator. This feature requires Linux
1438 as a host OS.
1439
1440 Example:
1441 pcidev: vendor=0x1234, device=0x5678
1442
1443 The vendor and device arguments should contain the vendor ID re‐
1444 spectively the device ID of the PCI device you want to map
1445 within Bochs. The PCI mapping is still very experimental and
1446 not maintained yet.
1447
1448
1450 This program is distributed under the terms of the GNU Lesser Gen‐
1451 eral Public License as published by the Free Software Foundation.
1452 See the LICENSE and COPYING files located in /usr/share/doc/bochs/ for
1453 details on the license and the lack of warranty.
1454
1456 The latest version of this program can be found at:
1457 http://bochs.sourceforge.net/getcurrent.html
1458
1460 bochs(1), bochs-dlx(1), bximage(1)
1461
1462 The Bochs IA-32 Emulator site on the World Wide Web:
1463 http://bochs.sourceforge.net
1464
1465 Online Bochs Documentation
1466 http://bochs.sourceforge.net/doc/docbook
1467
1469 The Bochs emulator was created by Kevin Lawton (kevin@man‐
1470 drakesoft.com), and is currently maintained by the members of the
1471 Bochs x86 Emulator Project. You can see a current roster of members
1472 at:
1473 http://bochs.sourceforge.net/getinvolved.html
1474
1476 Please report all bugs to the bug tracker on our web site. Just go
1477 to http://bochs.sourceforge.net, and click "Bug Reports" on the sidebar
1478 under "Feedback".
1479
1480 Provide a detailed description of the bug, the version of the program
1481 you are running, the operating system you are running the program on
1482 and the operating system you are running in the emulator.
1483
1484
1485
1486
1487
1488bochsrc 27 Jun 2021 bochsrc(5)