1bochsrc(5)                     The Bochs Project                    bochsrc(5)
2
3
4

NAME

6       bochsrc - Configuration file for Bochs.
7

DESCRIPTION

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

OPTIONS

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

LICENSE

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

AVAILABILITY

928       The latest version of this program can be found at:
929         http://bochs.sourceforge.net/getcurrent.html
930

SEE ALSO

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

AUTHORS

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

BUGS

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)
Impressum