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
13 either 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 config_interface:
43 The configuration interface is a series of menus or dialog boxes
44 that allows you to change all the settings that control Bochs's
45 behavior. Depending on the platform there are up to 3 choices
46 of configuration interface: a text mode version called "textcon‐
47 fig" and two graphical versions called "win32config" and "wx".
48 The text mode version uses stdin/stdout and is always compiled
49 in, unless Bochs is compiled for wx only. The choice "win32con‐
50 fig" is only available on win32 and it is the default there.
51 The choice "wx" is only available when you use "--with-wx" on
52 the configure command. If you do not write a config_interface
53 line, Bochs will choose a default for you.
54
55 NOTE: if you use the "wx" configuration interface, you must also
56 use the "wx" display library.
57
58 Example:
59 config_interface: textconfig
60
61
62 display_library:
63 The display library is the code that displays the Bochs VGA
64 screen. Bochs has a selection of about 10 different display
65 library implementations for different platforms. If you run
66 configure with multiple --with-* options, the display_library
67 command lets you choose which one you want to run with. If you
68 do not write a display_library line, Bochs will choose a default
69 for you.
70
71 The choices are:
72 x X windows interface, cross platform
73 win32 native win32 libraries
74 carbon Carbon library (for MacOS X)
75 beos native BeOS libraries
76 macintosh MacOS pre-10
77 amigaos native AmigaOS libraries
78 sdl SDL library, cross platform
79 term text only, uses curses/ncurses library, cross
80 platform
81 rfb provides an interface to AT&T's VNC viewer, cross
82 platform
83 wx wxWidgets library, cross platform
84 nogui no display at all
85
86 Some display libraries now support specific option to control
87 their behaviour. See the examples below for currently supported
88 options.
89
90 NOTE: if you use the "wx" configuration interface, you must also
91 use the "wx" display library.
92
93 Examples:
94 display_library: x
95 display_library: rfb, options="timeout=60" # time to wait for
96 client
97 display_library: sdl, options="fullscreen" # startup in
98 fullscreen mode
99 display_library: x, options="hideIPS" # disable IPS output in
100 status bar
101 display_library: x, options="gui_debug" # use GTK debugger gui
102
103
104
105 romimage:
106 The ROM BIOS controls what the PC does when it first powers on.
107 Normally, you can use a precompiled BIOS in the source or binary
108 distribution called BIOS-bochs-latest. The default ROM BIOS is
109 usually loaded starting at address 0xe0000, and it is exactly
110 128k long. The legacy version of the Bochs BIOS is usually
111 loaded starting at address 0xf0000, and it is exactly 64k long.
112 You can also use the environment variable $BXSHARE to specify
113 the location of the BIOS. The usage of external large BIOS
114 images (up to 512k) at memory top is now supported, but we still
115 recommend to use the BIOS distributed with Bochs. The start
116 address is optional, since it can be calculated from image size.
117
118 Examples:
119 romimage: file=bios/BIOS-bochs-latest
120 romimage: file=$BXSHARE/BIOS-bochs-legacy
121 romimage: file=mybios.bin, address=0xfff80000
122 romimage: file=mybios.bin
123
124
125 cpu: This defines cpu-related parameters inside Bochs:
126
127 count:
128
129 Set the number of processors:cores per processor:threads per
130 core when Bochs is compiled for SMP emulation. Bochs currently
131 supports up to 8 processors. If Bochs is compiled without SMP
132 support, it won't accept values different from 1.
133
134 quantum:
135
136 Maximum amount of instructions allowed to execute by processor
137 before returning control to another cpu. This option exists only
138 in Bochs binary compiled with SMP support.
139
140 reset_on_triple_fault:
141
142 Reset the CPU when triple fault occur (highly recommended)
143 rather than PANIC. Remember that if you trying to continue after
144 triple fault the simulation will be completely bogus !
145
146 cpuid_limit_winnt:
147
148 Determine whether to limit maximum CPUID function to 3. This
149 mode is required to workaround WinNT installation and boot
150 issues.
151
152 msrs:
153
154 Define path to user CPU Model Specific Registers (MSRs) specifi‐
155 cation. See example in msrs.def.
156
157 ignore_bad_msrs:
158
159 Ignore MSR references that Bochs does not understand; print a
160 warning message instead of generating #GP exception. This option
161 is enabled by default but will not be avaiable if configurable
162 MSRs are enabled.
163
164 vendor_string:
165
166 Set the CPUID vendor string returned by CPUID(0x0). This should
167 be a twelve-character ASCII string.
168
169 brand_string:
170
171 Set the CPUID vendor string returned by CPUID(0x80000002 ..
172 0x80000004). This should be at most a forty-eight-character
173 ASCII string.
174
175 ips:
176
177 Emulated Instructions Per Second. This is the number of IPS
178 that Bochs is capable of running on your machine. You can
179 recompile Bochs with --enable-show-ips option enabled, to find
180 your workstation's capability. Measured IPS value will then be
181 logged into your log file or status bar (if supported by the
182 gui).
183
184 IPS is used to calibrate many time-dependent events within
185 the bochs simulation. For example, changing IPS affects the
186 frequency of VGA updates, the duration of time before a key
187 starts to autorepeat, and the measurement of BogoMips and
188 other benchmarks.
189
190 Example Specifications[1]
191 Bochs Machine/Compiler Mips
192 -------------------------------------------------------------------
193 2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4 50 to 55
194 Mips
195 2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 38 to 43
196 Mips
197 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25
198 Mips
199 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15
200 Mips
201 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7
202 Mips
203
204 [1] IPS measurements depend on OS and compiler configuration
205 in addition to processor clock speed.
206
207 Example:
208 cpu: count=2, ips=10000000, msrs="msrs.def"
209
210
211 megs: Set the number of Megabytes of physical memory you want to emu‐
212 late. The default is 32MB, most OS's won't need more than that.
213 The maximum amount of memory supported is 2048Mb.
214
215 Example:
216 megs: 32
217
218
219 optromimage1: , optromimage2: , optromimage3: or optromimage4:
220 You may now load up to 4 optional ROM images. Be sure to use a
221 read-only area, typically between C8000 and EFFFF. These
222 optional ROM images should not overwrite the rombios (located at
223 F0000-FFFFF) and the videobios (located at C0000-C7FFF). Those
224 ROM images will be initialized by the bios if they contain the
225 right signature (0x55AA). It can also be a convenient way to
226 upload some arbitrary code/data in the simulation, that can be
227 retrieved by the boot loader
228
229 Example:
230 optromimage1: file=optionalrom.bin, address=0xd0000
231
232
233 vgaromimage:
234 You also need to load a VGA ROM BIOS into 0xC0000.
235
236 Examples:
237 vgaromimage: file=bios/VGABIOS-elpin-2.40
238 vgaromimage: file=bios/VGABIOS-lgpl-latest
239 vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
240
241
242 vga: Here you can specify the display extension to be used. With the
243 value 'none' you can use standard VGA with no extension. Other
244 supported values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus
245 SVGA support.
246
247 Examples:
248 vga: extension=cirrus
249 vga: extension=vbe
250
251
252 floppya: or floppyb:
253
254 Point this to the pathname of a floppy image file or device.
255 Floppya is the first drive, and floppyb is the second drive.
256 If you're booting from a floppy, floppya should point to a
257 bootable disk.
258
259 You can set the initial status of the media to 'ejected' or
260 'inserted'. Usually you will want to use 'inserted'.
261
262 The parameter 'type' can be used to enable the floppy drive
263 without media and status specified. Usually the drive type is
264 set up based on the media type.
265
266 Example:
267
268 2.88M 3.5" media:
269 floppya: 2_88=path, status=ejected
270
271 1.44M 3.5" media:
272 floppya: 1_44=path, status=inserted
273
274 1.2M 5.25" media:
275 floppyb: 1_2=path, status=ejected
276
277 720K 3.5" media:
278 floppya: 720k=path, status=inserted
279
280 360K 5.25" media:
281 floppya: 360k=path, status=inserted
282
283 Autodetect floppy media type:
284 floppya: image=path, status=inserted
285
286 1.44M 3.5" floppy drive, no media:
287 floppya: type=1_44
288
289
290 ata0: , ata1: , ata2: or ata3:
291
292 These options enables up to 4 ata channels. For each channel the
293 two base io addresses and the irq must be specified. ata0 and
294 ata1 are enabled by default, with the values shown below.
295
296 Examples:
297 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
298 ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
299 ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
300 ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
301
302
303 ata[0-3]-master: or ata[0-3]-slave:
304
305 This defines the type and characteristics of all attached ata
306 devices:
307 type= type of attached device [disk|cdrom]
308 path= path of the image
309 mode= image mode [flat|concat|exter‐
310 nal|dll|sparse|vmware3|undoable|growing|volatile], only valid
311 for disks
312 cylinders= only valid for disks
313 heads= only valid for disks
314 spt= only valid for disks
315 status= only valid for cdroms [inserted|ejected]
316 biosdetect= type of biosdetection [none|auto], only for disks
317 on ata0 [cmos]
318 translation=type of translation of the bios, only for disks
319 [none|lba|large|rechs|auto]
320 model= string returned by identify device command
321 journal= optional filename of the redolog for undoable and
322 volatile disks
323
324 Point this at a hard disk image file, cdrom iso file, or a phys‐
325 ical cdrom device. To create a hard disk image, try running
326 bximage. It will help you choose the size and then suggest a
327 line that works with it.
328
329 In UNIX it is possible to use a raw device as a Bochs hard disk,
330 but WE DON'T RECOMMEND IT.
331
332 The path is mandatory for hard disks. Disk geometry autodetec‐
333 tion works with images created by bximage if CHS is set to 0/0/0
334 (cylinders are calculated using heads=16 and spt=63). For other
335 hard disk images and modes the cylinders, heads, and spt are
336 mandatory. In all cases the disk size reported from the image
337 must be exactly C*H*S*512.
338
339 The mode option defines how the disk image is handled. Disks can
340 be defined as:
341 - flat : one file flat layout
342 - concat : multiple files layout
343 - external : developer's specific, through a C++ class
344 - dll : developer's specific, through a DLL
345 - sparse : stackable, commitable, rollbackable
346 - vmware3 : vmware3 disk support
347 - undoable : flat file with commitable redolog
348 - growing : growing file
349 - volatile : flat file with volatile redolog
350
351 The disk translation scheme (implemented in legacy int13 bios
352 functions, and used by older operating systems like MS-DOS), can
353 be defined as:
354 - none : no translation, for disks up to 528MB (1032192 sec‐
355 tors)
356 - large : a standard bitshift algorithm, for disks up to 4.2GB
357 (8257536 sectors)
358 - rechs : a revised bitshift algorithm, using a 15 heads fake
359 physical geometry, for disks up to 7.9GB (15482880 sectors).
360 (don't use this unless you understand what you're doing)
361 - lba : a standard lba-assisted algorithm, for disks up to
362 8.4GB (16450560 sectors)
363 - auto : autoselection of best translation scheme. (it should
364 be changed if system does not boot)
365
366 Default values are:
367 mode=flat, biosdetect=auto, translation=auto, model="Generic
368 1234"
369
370 The biosdetect option has currently no effect on the bios
371
372 Examples:
373 ata0-master: type=disk, path=10M.sample, cylinders=306,
374 heads=4, spt=17
375 ata0-slave: type=disk, path=20M.sample, cylinders=615,
376 heads=4, spt=17
377 ata1-master: type=disk, path=30M.sample, cylinders=615,
378 heads=6, spt=17
379 ata1-slave: type=disk, path=46M.sample, cylinders=940,
380 heads=6, spt=17
381 ata2-master: type=disk, path=62M.sample, cylinders=940,
382 heads=8, spt=17
383 ata2-slave: type=disk, path=112M.sample, cylinders=900,
384 heads=15, spt=17
385 ata3-master: type=disk, path=483M.sample, cylinders=1024,
386 heads=15, spt=63
387 ata3-slave: type=cdrom, path=iso.sample, status=inserted
388
389
390 com1: , com2: , com3: or com4:
391 This defines a serial port (UART type 16550A). In the 'term' you
392 can specify a device to use as com1. This can be a real serial
393 line, or a pty. To use a pty (under X/Unix), create two windows
394 (xterms, usually). One of them will run bochs, and the other
395 will act as com1. Find out the tty the com1 window using the
396 `tty' command, and use that as the `dev' parameter. Then do
397 `sleep 1000000' in the com1 window to keep the shell from mess‐
398 ing with things, and run bochs in the other window. Serial I/O
399 to com1 (port 0x3f8) will all go to the other window.
400
401 Other serial modes are 'null' (no input/output), 'file' (output
402 to a file specified as the 'dev' parameter), 'raw' (use the real
403 serial port - under construction for win32) and 'mouse' (stan‐
404 dard serial mouse - requires mouse option setting 'type=serial'
405 or 'type=serial_wheel')
406
407 Examples:
408 com1: enabled=1, mode=term, dev=/dev/ttyp7
409 com2: enabled=1, mode=file, dev=serial.out
410 com1: enabled=1, mode=mouse
411
412
413 parport1: or parport2:
414 This defines a parallel (printer) port. When turned on and an
415 output file is defined the emulated printer port sends charac‐
416 ters printed by the guest OS into the output file. On some plat‐
417 forms a device filename can be used to send the data to the real
418 parallel port (e.g. "/dev/lp0" on Linux).
419
420 Examples:
421 parport1: enabled=1, file=parport.out
422 parport2: enabled=1, file="/dev/lp0"
423 parport1: enabled=0
424
425
426 boot: This defines the boot sequence. Now you can specify up to 3 boot
427 drives, which can be 'floppy', 'disk', 'cdrom' or 'network'
428 (boot ROM). Legacy 'a' and 'c' are also supported.
429
430 Example:
431 boot: cdrom, floppy, disk
432
433
434 floppy_bootsig_check:
435 This disables the 0xaa55 signature check on boot floppies The
436 check is enabled by default.
437
438 Example:
439 floppy_bootsig_check: disabled=1
440
441
442 log: Give the path of the log file you'd like Bochs debug and misc.
443 verbiage to be written to. If you really don't want it, make
444 it /dev/null.
445
446 Example:
447 log: bochs.out
448 log: /dev/tty (unix only)
449 log: /dev/null (unix only)
450
451
452 logprefix:
453 This handles the format of the string prepended to each log line
454 : You may use those special tokens :
455 %t : 11 decimal digits timer tick
456 %i : 8 hexadecimal digits of cpu0 current eip
457 %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic,
458 'e'rror)
459 %d : 5 characters string of the device, between brackets
460
461 Default : %t%e%d
462
463 Examples:
464 logprefix: %t-%e-@%i-%d
465 logprefix: %i%e%d
466
467
468 panic: If Bochs reaches a condition where it cannot emulate cor‐
469 rectly, it does a panic. This can be a configuration problem
470 (like a misspelled bochsrc line) or an emulation problem (like
471 an unsupported video mode). The "panic" setting in bochsrc
472 tells Bochs how to respond to a panic. You can set this to
473 fatal (terminate the session), report (print information to
474 the console), or ignore (do nothing).
475
476 The safest setting is action=fatal. If you are getting panics,
477 you can try action=report instead. If you allow Bochs to
478 continue after a panic, don't be surprised if you get strange
479 behavior or crashes if a panic occurs. Please report panic
480 messages unless it is just a configuration problem like
481 "could not find hard drive image."
482
483 Example:
484 panic: action=fatal
485
486
487
488 error: Bochs produces an error message when it finds a condition that
489 really shouldn't happen, but doesn't endanger the simulation.
490 An example of an error might be if the emulated software
491 produces an illegal disk command.
492
493 The "error" setting tells Bochs how to respond to an error con‐
494 dition. You can set this to fatal (terminate the session),
495 report (print information to the console), or ignore (do
496 nothing).
497
498 Example:
499 error: action=report
500
501
502 info: This setting tells Bochs what to do when an event occurs
503 that generates informational messages. You can set this to
504 fatal (that would not be very smart though), report (print
505 information to the console), or ignore (do nothing). For
506 general usage, the "report" option is probably a good choice.
507
508 Example:
509 info: action=report
510
511
512 debug: This setting tells Bochs what to do with messages intended
513 to assist in debugging. You can set this to fatal (but you
514 shouldn't), report (print information to the console), or
515 ignore (do nothing). You should generally set this to ignore,
516 unless you are trying to diagnose a particular problem.
517
518 NOTE: When action=report, Bochs may spit out thousands of
519 debug messages per second, which can impact performance and fill
520 up your disk.
521
522 Example:
523 debug: action=ignore
524
525
526 debugger_log:
527 Give the path of the log file you'd like Bochs to log debugger
528 output. If you really don't want it, make it '/dev/null', or
529 '-'.
530
531 Example:
532 log: debugger.out
533 log: /dev/null (unix only)
534 log: -
535
536
537 sb16: This defines the SB16 sound emulation. It can have several of
538 the following properties. All properties are in this format:
539 sb16: property=value
540
541
542 PROPERTIES FOR sb16:
543
544 midi:
545
546 The filename is where the midi data is sent. This can be a
547 device or just a file if you want to record the midi data.
548
549 midimode:
550
551 0 = No data should be output.
552 1 = output to device (system dependent - midi
553 denotes the device driver).
554 2 = SMF file output, including headers.
555 3 = Output the midi data stream to the file
556 (no midi headers and no delta times, just
557 command and data bytes).
558
559 wave:
560
561 This is the device/file where wave output is stored.
562
563 wavemode:
564
565 0 = no data
566 1 = output to device (system dependent - wave
567 denotes the device driver).
568 2 = VOC file output, including headers.
569 3 = Output the raw wave stream to the file.
570
571 log:
572
573 The file to write the sb16 emulator messages to.
574
575 loglevel:
576
577 0 = No log.
578 1 = Resource changes, midi program and bank changes.
579 2 = Severe errors.
580 3 = All errors.
581 4 = All errors plus all port accesses.
582 5 = All errors and port accesses plus a lot
583 of extra information.
584
585 It is possible to change the loglevel at runtime.
586
587 dmatimer:
588
589 Microseconds per second for a DMA cycle. Make it smaller to fix
590 non-continuous sound. 750000 is usually a good value. This
591 needs a reasonably correct setting for the IPS parameter
592 of the CPU option. It is possible to adjust the dmatimer at
593 runtime.
594
595 Example for output to OSS:
596 sb16: midimode=1, midi=/dev/midi00,
597 wavemode=1, wave=/dev/dsp, loglevel=2,
598 log=sb16.log, dmatimer=600000
599
600 Example for output to ALSA:
601 sb16: midimode=1, midi=alsa:128:0,
602 wavemode=1, wave=alsa,
603 log=sb16.log, dmatimer=600000
604
605 NOTE: The examples are wrapped onto three lines for formatting
606 reasons, but it should all be on one line in the actual
607 bochsrc file.
608
609
610 vga_update_interval:
611 Video memory is scanned for updates and screen updated every so
612 many virtual seconds. The default value is 50000, about 20Hz.
613 Keep in mind that you must tweak the 'cpu: ips=N' directive to
614 be as close to the number of emulated instructions-per-second
615 your workstation can do, for this to be accurate.
616
617 Example:
618 vga_update_interval: 250000
619
620
621
622 keyboard_serial_delay:
623 Approximate time in microseconds that it takes one character
624 to be transfered from the keyboard to controller over the
625 serial path.
626
627 Example:
628 keyboard_serial_delay: 200
629
630
631 keyboard_paste_delay:
632 Approximate time in microseconds between attempts to paste char‐
633 acters to the keyboard controller. This leaves time for the
634 guest os to deal with the flow of characters. The ideal setting
635 depends on how your operating system processes characters. The
636 default of 100000 usec (.1 seconds) was chosen because it works
637 consistently in Windows.
638
639 If your OS is losing characters during a paste, increase the
640 paste delay until it stops losing characters.
641
642 Example:
643 keyboard_paste_delay: 100000
644
645
646 clock: This defines the parameters of the clock inside Bochs.
647
648 sync
649
650 This defines the method how to synchronize the Bochs internal
651 time with realtime. With the value 'none' the Bochs time relies
652 on the IPS value and no host time synchronization is used. The
653 'slowdown' method sacrifices performance to preserve repro‐
654 ducibility while allowing host time correlation. The 'realtime'
655 method sacrifices reproducibility to preserve performance and
656 host-time correlation. It is possible to enable both synchro‐
657 nization methods.
658
659 time0
660
661 Specifies the start (boot) time of the virtual machine. Use a
662 time value as returned by the time(2) system call. If no time0
663 value is set or if time0 equal to 1 (special case) or if time0
664 equal 'local', the simulation will be started at the current
665 local host time. If time0 equal to 2 (special case) or if time0
666 equal 'utc', the simulation will be started at the current utc
667 time.
668
669 Syntax:
670 clock: sync=[none|slowdown|realtime|both],
671 time0=[timeValue|local|utc]
672
673 Default value are sync=none, time0=local
674
675 Example:
676 clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35
677 1999
678
679
680 mouse: The Bochs gui creates mouse "events" unless the 'enabled' option
681 is set to 0. The hardware emulation itself is not disabled by
682 this. Unless you have a particular reason for enabling the
683 mouse by default, it is recommended that you leave it off. You
684 can also toggle the mouse usage at runtime (control key + middle
685 mouse button). With the mouse type option you can select the
686 type of mouse to emulate. The default value is 'ps2'. The other
687 choices are 'imps2' (wheel mouse on PS/2), 'serial',
688 'serial_wheel' and 'serial_msys' (one com port requires setting
689 'mode=mouse'). To connect a mouse to an USB port, see the
690 'usb_uhci' or 'usb_ohci' option (requires PCI and USB support).
691
692 Examples:
693 mouse: enabled=0
694 mouse: enabled=1, type=imps2
695
696
697 private_colormap:
698 Requests that the GUI create and use it's own non-shared col‐
699 ormap. This colormap will be used when in the bochs window.
700 If not enabled, a shared colormap scheme may be used. Once
701 again, enabled=1 turns on this feature and 0 turns it off.
702
703 Example:
704 private_colormap: enabled=1
705
706
707 i440fxsupport:
708 This option controls the presence of the i440FX PCI chipset. You
709 can also specify the devices connected to PCI slots. Up to 5
710 slots are available now. These devices are currently supported:
711 ne2k, pcivga, pcidev, pcipnic and usb_ohci. If Bochs is compiled
712 with Cirrus SVGA support you'll have the additional choice 'cir‐
713 rus'.
714
715 Example:
716 i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
717
718
719 pcidev:
720 Enables the mapping of a host PCI hardware device within the PCI
721 subsystem of the Bochs x86 emulator. This feature requires Linux
722 as a host OS.
723
724 Example:
725 pcidev: vendor=0x1234, device=0x5678
726
727 The vendor and device arguments should contain the vendor ID
728 respectively the device ID of the PCI device you want to map
729 within Bochs. The PCI mapping is still very experimental.
730
731
732 ne2k: Defines the characteristics of an attached ne2000 isa card :
733 ioaddr=IOADDR,
734 irq=IRQ,
735 mac=MACADDR,
736 ethmod=MODULE,
737 ethdev=DEVICE,
738 script=SCRIPT
739
740 PROPERTIES FOR ne2k:
741
742 ioaddr, irq: You probably won't need to change ioaddr and irq,
743 unless there are IRQ conflicts. These parameters are ignored if
744 the NE2000 is assigned to a PCI slot.
745
746 mac: The MAC address MUST NOT match the address of any machine
747 on the net. Also, the first byte must be an even number (bit 0
748 set means a multicast address), and you cannot use
749 ff:ff:ff:ff:ff:ff because that's the broadcast address. For the
750 ethertap module, you must use fe:fd:00:00:00:01. There may be
751 other restrictions too. To be safe, just use the b0:c4...
752 address.
753
754 ethmod: The ethmod value defines which low level OS specific
755 module to be used to access physical ethernet interface. Current
756 implemented values include
757 - fbsd : ethernet on freebsd and openbsd
758 - linux : ethernet on linux
759 - win32 : ethernet on win32
760 - tap : ethernet through a linux tap interface
761 - tuntap : ethernet through a linux tuntap interface
762
763 If you don't want to make connections to any physical networks,
764 you can use the following 'ethmod's to simulate a virtual net‐
765 work.
766 - null : All packets are discarded, but logged to a few files
767 - arpback: ARP is simulated (disabled by default)
768 - vde : Virtual Distributed Ethernet
769 - vnet : ARP, ICMP-echo(ping), DHCP and TFTP are simulated
770 The virtual host uses 192.168.10.1
771 DHCP assigns 192.168.10.2 to the guest
772 The TFTP server use ethdev for the root directory
773 and doesn't
774 overwrite files
775
776 ethdev: The ethdev value is the name of the network interface on
777 your host platform. On UNIX machines, you can get the name by
778 running ifconfig. On Windows machines, you must run niclist to
779 get the name of the ethdev. Niclist source code is in
780 misc/niclist.c and it is included in Windows binary releases.
781
782 script: The script value is optional, and is the name of a
783 script that is executed after bochs initialize the network
784 interface. You can use this script to configure this network
785 interface, or enable masquerading. This is mainly useful for
786 the tun/tap devices that only exist during Bochs execution. The
787 network interface name is supplied to the script as first param‐
788 eter
789
790 Examples:
791 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd,
792 ethdev=xlo
793 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, eth‐
794 mod=linux, ethdev=eth0
795 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, eth‐
796 mod=win32, ethdev=MYCARD
797 ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap,
798 ethdev=tap0
799 ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tun‐
800 tap, ethdev=/dev/net/tun0, script=./tunconfig
801 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde,
802 ethdev="/tmp/vde.ctl"
803 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet,
804 ethdev="c:/temp"
805
806
807 pnic: To support the Bochs/Etherboot pseudo-NIC, Bochs must be com‐
808 piled with the --enable-pnic configure option. It accepts the
809 same syntax (for mac, ethmod, ethdev, script) and supports the
810 same networking modules as the NE2000 adapter. In addition to
811 this, it must be assigned to a PCI slot.
812
813 Example:
814 pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet
815
816
817 keyboard_mapping:
818 This enables a remap of a physical localized keyboard to a vir‐
819 tualized us keyboard, as the PC architecture expects. If
820 enabled, the keymap file must be specified.
821
822 Examples:
823 keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map
824
825
826 keyboard_type:
827 Type of emulated keyboard sent back to the OS to a "keyboard
828 identify" command. It must be one of "xt", "at" or "mf".
829
830 Example:
831 keyboard_type: mf
832
833
834 user_shortcut:
835 This defines the keyboard shortcut to be sent when you press the
836 "user" button in the header bar. The shortcut string is a combi‐
837 nation of maximum 3 key names (listed below) separated with a
838 '-' character.
839
840 Valid key names:
841
842 "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter",
843 "esc", "f1", ... "f12", "home", "ins", "left", "menu", "minus",
844 "pgdwn", "pgup", "plus", "right", "shift", "space", "tab", "up",
845 "win", "print" and "power".
846
847 Example:
848 user_shortcut: keys=ctrl-alt-del
849
850
851 cmosimage:
852 This defines image file that can be loaded into the CMOS RAM at
853 startup. The rtc_init parameter controls whether initialize the
854 RTC with values stored in the image. By default the time0 argu‐
855 ment given to the clock option is used. With 'rtc_init=image'
856 the image is the source for the initial time.
857
858 Example:
859 cmosimage: file=cmos.img, rtc_init=time0
860
861
862 usb_uhci:
863 This option controls the presence of the USB root hub which is a
864 part of the i440FX PCI chipset. With the portX option you can
865 connect devices to the hub (currently supported: 'mouse',
866 'tablet', 'keypad', 'disk', 'cdrom' and 'hub').
867
868 If you connect the mouse or tablet to one of the ports, Bochs
869 forwards the mouse movement data to the USB device instead of
870 the selected mouse type. When connecting the keypad to one of
871 the ports, Bochs forwards the input of the numeric keypad to the
872 USB device instead of the PS/2 keyboard.
873
874 To connect a flat image as an USB hardisk you can use the 'disk'
875 device with the path to the image separated with a colon (see
876 below). To emulate an USB cdrom you can use the 'cdrom' device
877 name and the path to an ISO image or raw device name also sepa‐
878 rated with a colon.
879
880 The device name 'hub' connects an external hub with max. 8 ports
881 (default: 4) to the root hub. To specify the number of ports you
882 have to add the value separated with a colon. Connecting devices
883 to the external hub ports is only available in the runtime con‐
884 figuration.
885
886 Example:
887 usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img
888 usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso
889
890
891 usb_ohci:
892 This option controls the presence of the USB OHCI host con‐
893 troller with a 2-port hub. The portX option accepts the same
894 device types with the same syntax as the UHCI controller (see
895 above). The OHCI HC must be assigned to a PCI slot.
896
897 Example:
898 usb_ohci: enabled=1
899
900
901 plugin_ctrl:
902 Controls the presence of optional plugins without a separate
903 option. By default all existing plugins are enabled. These
904 plugins are currently supported: 'acpi', 'biosdev', 'extfpuirq',
905 'gameport', 'iodebug', 'pci_ide', 'speaker' and 'unmapped'.
906
907 Example:
908 plugin_ctrl: biosdev=0, speaker=0
909
910
911 user_plugin:
912 Load user-defined plugin. This option is available only if Bochs
913 is compiled with plugin support. Maximum 8 different plugins are
914 supported. See the example in the Bochs sources how to write a
915 plugin device.
916
917 Example:
918 user_plugin: name=testdev
919
920
922 This program is distributed under the terms of the GNU Lesser Gen‐
923 eral Public License as published by the Free Software Foundation.
924 See the COPYING file located in /usr/share/doc/bochs/ for details on
925 the license and the lack of warranty.
926
928 The latest version of this program can be found at:
929 http://bochs.sourceforge.net/getcurrent.html
930
932 bochs(1), bochs-dlx(1), bximage(1), bxcommit(1)
933
934 The Bochs IA-32 Emulator site on the World Wide Web:
935 http://bochs.sourceforge.net
936
937 Online Bochs Documentation
938 http://bochs.sourceforge.net/doc/docbook
939
941 The Bochs emulator was created by Kevin Lawton (kevin@man‐
942 drakesoft.com), and is currently maintained by the members of the
943 Bochs x86 Emulator Project. You can see a current roster of members
944 at:
945 http://bochs.sourceforge.net/getinvolved.html
946
948 Please report all bugs to the bug tracker on our web site. Just go
949 to http://bochs.sourceforge.net, and click "Bug Reports" on the sidebar
950 under "Feedback".
951
952 Provide a detailed description of the bug, the version of the program
953 you are running, the operating system you are running the program on
954 and the operating system you are running in the emulator.
955
956
957
958
959
960bochsrc 30 April 2009 bochsrc(5)