Provided by: bochs_2.4.1-1ubuntu1_i386 bug


       bochsrc - Configuration file for Bochs.


       Bochsrc    is   the   configuration   file  that specifies where  Bochs
       should look for disk images,  how the  Bochs  emulation  layer   should
       work,   etc.    The   syntax   used  for  bochsrc   can also be used as
       command line  arguments for Bochs. The .bochsrc  file should be  placed
       either in the current  directory  before running  Bochs or in your home

       Starting with Bochs 1.3, you  can  use  environment  variables  in  the
       bochsrc file, for example:

         floppya: 1_44="$IMAGES/bootdisk.img", status=inserted

       Starting  with  version  2.0, two environment variables have a built-in
       default value which is set at compile time.   $BXSHARE  points  to  the
       "share"  directory  which  is  typically /usr/local/share/bochs on UNIX
       machines.  See the $(sharedir) variable in the Makefile for  the  exact
       value.   $BXSHARE  is used by disk images to locate the directory where
       the BIOS images and keymaps can be found.  If $BXSHARE is not  defined,
       Bochs  will  supply the default value.  Also, $LTDL_LIBRARY_PATH points
       to a list of directories (separated by colons  if  more  than  one)  to
       search  in  for  Bochs  plugins.  A compile-time default is provided if
       this variable is not defined by the user.


              This option includes another configuration file. It is  possible
              to  put  installation  defaults  in  a  global config file (e.g.
              location of rom images).

                #include /etc/bochsrc

              The configuration interface is a series of menus or dialog boxes
              that  allows you to change all the settings that control Bochs’s
              behavior.  Depending on the platform there are up to  3  choices
              of   configuration   interface:   a  text  mode  version  called
              "textconfig" and two graphical versions called "win32config" and
              "wx".   The  text  mode  version uses stdin/stdout and is always
              compiled in, unless Bochs is compiled for wx  only.  The  choice
              "win32config"  is  only available on win32 and it is the default
              there.  The choice "wx" is only available when you use  "--with-
              wx"   on   the  configure  command.   If  you  do  not  write  a
              config_interface line, Bochs will choose a default for you.

              NOTE: if you use the "wx" configuration interface, you must also
              use the "wx" display library.

                config_interface: textconfig

              The  display  library  is  the  code that displays the Bochs VGA
              screen.  Bochs has a selection of  about  10  different  display
              library  implementations  for  different  platforms.  If you run
              configure with multiple --with-*  options,  the  display_library
              command  lets you choose which one you want to run with.  If you
              do not write a display_library line, Bochs will choose a default
              for you.

              The choices are:
                x           X windows interface, cross platform
                win32       native win32 libraries
                carbon      Carbon library (for MacOS X)
                beos        native BeOS libraries
                macintosh   MacOS pre-10
                amigaos     native AmigaOS libraries
                sdl         SDL library, cross platform
                term         text  only,  uses  curses/ncurses  library, cross
                rfb         provides an interface to AT&T’s VNC viewer,  cross
                wx          wxWidgets library, cross platform
                nogui       no display at all

              Some  display  libraries  now support specific option to control
              their behaviour. See the examples below for currently  supported

              NOTE: if you use the "wx" configuration interface, you must also
              use the "wx" display library.

                display_library: x
                display_library: rfb, options="timeout=60"  # time to wait for
                display_library:   sdl,  options="fullscreen"   #  startup  in
              fullscreen mode
                display_library: x, options="hideIPS" # disable IPS output  in
              status bar
                display_library: x, options="gui_debug" # use GTK debugger gui

              The ROM BIOS controls what the PC does when it first powers  on.
              Normally, you can use a precompiled BIOS in the source or binary
              distribution called BIOS-bochs-latest.  The default ROM BIOS  is
              usually  loaded  starting  at address 0xe0000, and it is exactly
              128k long. The legacy version  of  the  Bochs  BIOS  is  usually
              loaded  starting at address 0xf0000, and it is exactly 64k long.
              You can also use the environment variable  $BXSHARE  to  specify
              the  location  of  the  BIOS.   The usage of external large BIOS
              images (up to 512k) at memory top is now supported, but we still
              recommend  to  use  the  BIOS distributed with Bochs.  The start
              address is optional, since it can be calculated from image size.

                romimage: file=bios/BIOS-bochs-latest
                romimage: file=$BXSHARE/BIOS-bochs-legacy
                romimage: file=mybios.bin, address=0xfff80000
                romimage: file=mybios.bin

       cpu:   This defines cpu-related parameters inside Bochs:


              Set  the  number  of  processors:cores per processor:threads per
              core when Bochs is compiled for SMP emulation.  Bochs  currently
              supports  up  to  8 processors. If Bochs is compiled without SMP
              support, it won’t accept values different from 1.


              Maximum amount of instructions allowed to execute  by  processor
              before returning control to another cpu. This option exists only
              in Bochs binary compiled with SMP support.


              Reset the CPU  when  triple  fault  occur  (highly  recommended)
              rather than PANIC. Remember that if you trying to continue after
              triple fault the simulation will be completely bogus !


              Determine whether to limit maximum CPUID  function  to  3.  This
              mode  is  required  to  workaround  WinNT  installation and boot


              Define  path  to  user  CPU  Model  Specific  Registers   (MSRs)
              specification.  See example in msrs.def.


              Set the CPUID vendor string returned by CPUID(0x0).  This should
              be a twelve-character ASCII string.


              Set the CPUID vendor  string  returned  by  CPUID(0x80000002  ..
              0x80000004).   This  should  be  at most a forty-eight-character
              ASCII string.


              Emulated Instructions Per Second.  This is  the  number  of  IPS
              that  Bochs  is  capable  of  running  on your machine.  You can
              recompile Bochs with --enable-show-ips option enabled,  to  find
              your  workstation’s capability.  Measured IPS value will then be
              logged into your log file or status bar  (if  supported  by  the

              IPS  is  used to calibrate  many  time-dependent events   within
              the  bochs  simulation.  For example, changing IPS  affects  the
              frequency  of  VGA  updates,  the  duration of time before a key
              starts to autorepeat,  and  the  measurement   of  BogoMips  and
              other benchmarks.

              Example Specifications[1]

              Bochs   Machine/Compiler                               Mips
              2.3.7   3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4   50 to 55 Mips
              2.3.7   2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4     38 to 43 Mips
              2.2.6   2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4     21 to 25 Mips
              2.2.6   2.1Ghz Athlon XP with Linux 2.6/g++ 3.4        12 to 15 Mips
              2.0.1   1.6Ghz Intel P4 with Win2000/g++ 3.3           5 to  7 Mips

               [1]   IPS  measurements depend on OS and compiler configuration
              in addition  to processor clock speed.

                cpu: count=2, ips=10000000

       megs:  Set the number of Megabytes  of  physical  memory  you  want  to
              emulate.   The  default  is 32MB, most OS’s won’t need more than
              that.  The maximum amount of memory supported is 2048Mb.

                megs: 32

       optromimage1: , optromimage2: , optromimage3: or optromimage4:
              You may now load up to 4 optional ROM images. Be sure to  use  a
              read-only   area,  typically  between  C8000  and  EFFFF.  These
              optional ROM images should not overwrite the rombios (located at
              F0000-FFFFF)  and the videobios (located at C0000-C7FFF).  Those
              ROM images will be initialized by the bios if they  contain  the
              right  signature  (0x55AA).   It can also be a convenient way to
              upload some arbitrary code/data in the simulation, that  can  be
              retrieved by the boot loader

                optromimage1: file=optionalrom.bin, address=0xd0000

              You also need to load a VGA ROM BIOS into 0xC0000.

                vgaromimage: file=bios/VGABIOS-elpin-2.40
                vgaromimage: file=bios/VGABIOS-lgpl-latest
                vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

       vga:   Here  you can specify the display extension to be used. With the
              value ’none’ you can use standard VGA with no  extension.  Other
              supported values are ’vbe’ for Bochs VBE and ’cirrus’ for Cirrus
              SVGA support.

                vga: extension=cirrus
                vga: extension=vbe

       floppya: or floppyb:

              Point  this to  the pathname of a floppy image file or   device.
              Floppya  is the  first drive, and  floppyb is the  second drive.
              If  you’re booting from a floppy,  floppya  should  point  to  a
              bootable disk.

              You  can  set  the  initial  status of the media to ’ejected’ or
              ’inserted’. Usually you will want to use ’inserted’.

              The parameter ’type’ can be used  to  enable  the  floppy  drive
              without  media  and  status specified. Usually the drive type is
              set up based on the media type.


              2.88M 3.5" media:
                floppya: 2_88=path, status=ejected

              1.44M 3.5" media:
                floppya: 1_44=path, status=inserted

              1.2M  5.25" media:
                floppyb: 1_2=path, status=ejected

              720K  3.5" media:
                floppya: 720k=path, status=inserted

              360K  5.25" media:
                floppya: 360k=path, status=inserted

              Autodetect floppy media type:
                floppya: image=path, status=inserted

              1.44M 3.5" floppy drive, no media:
                floppya: type=1_44

       ata0: , ata1: , ata2: or ata3:

              These options enables up to 4 ata channels. For each channel the
              two  base  io addresses and the irq must be specified.  ata0 and
              ata1 are enabled by default, with the values shown below.

                 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
                 ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
                 ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
                 ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9

       ata[0-3]-master: or ata[0-3]-slave:

              This defines the type and characteristics of  all  attached  ata
                 type=       type of attached device [disk|cdrom]
                 path=       path of the image
                 mode=                           image                    mode
              only valid for disks
                 cylinders=  only valid for disks
                 heads=      only valid for disks
                 spt=        only valid for disks
                 status=     only valid for cdroms [inserted|ejected]
                 biosdetect= type of biosdetection [none|auto], only for disks
              on ata0 [cmos]
                 translation=type of translation of the bios, only  for  disks
                 model=      string returned by identify device command
                 journal=    optional filename of the redolog for undoable and
              volatile disks

              Point this at a hard disk image  file,  cdrom  iso  file,  or  a
              physical cdrom device.  To create a hard disk image, try running
              bximage.  It will help you choose the size and  then  suggest  a
              line that works with it.

              In UNIX it is possible to use a raw device as a Bochs hard disk,
              but WE DON’T RECOMMEND IT.

              The  path  is  mandatory   for   hard   disks.   Disk   geometry
              autodetection works with images created by bximage if CHS is set
              to 0/0/0 (cylinders are calculated using  heads=16 and  spt=63).
              For  other  hard disk images and modes the cylinders, heads, and
              spt are mandatory. In all cases the disk size reported from  the
              image must be exactly C*H*S*512.

              The mode option defines how the disk image is handled. Disks can
              be defined as:
                - flat : one file flat layout
                - concat : multiple files layout
                - external : developer’s specific, through a C++ class
                - dll : developer’s specific, through a DLL
                - sparse : stackable, commitable, rollbackable
                - vmware3 : vmware3 disk support
                - undoable : flat file with commitable redolog
                - growing : growing file
                - volatile : flat file with volatile redolog

              The disk translation scheme (implemented in  legacy  int13  bios
              functions, and used by older operating systems like MS-DOS), can
              be defined as:
                - none : no  translation,  for  disks  up  to  528MB  (1032192
                - large : a standard bitshift algorithm, for disks up to 4.2GB
              (8257536 sectors)
                - rechs : a revised bitshift algorithm, using a 15 heads  fake
              physical  geometry,  for  disks  up to 7.9GB (15482880 sectors).
              (don’t use this unless you understand what you’re doing)
                - lba : a standard lba-assisted algorithm,  for  disks  up  to
              8.4GB (16450560 sectors)
                -  auto : autoselection of best translation scheme. (it should
              be changed if system does not boot)

              Default values are:
                 mode=flat, biosdetect=auto, translation=auto,  model="Generic

              The biosdetect option has currently no effect on the bios

                 ata0-master:   type=disk,   path=10M.sample,   cylinders=306,
              heads=4, spt=17
                 ata0-slave:    type=disk,   path=20M.sample,   cylinders=615,
              heads=4, spt=17
                 ata1-master:   type=disk,   path=30M.sample,   cylinders=615,
              heads=6, spt=17
                 ata1-slave:    type=disk,   path=46M.sample,   cylinders=940,
              heads=6, spt=17
                 ata2-master:   type=disk,   path=62M.sample,   cylinders=940,
              heads=8, spt=17
                 ata2-slave:   type=disk,   path=112M.sample,   cylinders=900,
              heads=15, spt=17
                 ata3-master:   type=disk,  path=483M.sample,  cylinders=1024,
              heads=15, spt=63
                 ata3-slave:  type=cdrom, path=iso.sample, status=inserted

       com1: , com2: , com3: or com4:
              This defines a serial port (UART type 16550A). In the ’term’ you
              can  specify  a device to use as com1. This can be a real serial
              line, or a pty.  To use a pty (under X/Unix), create two windows
              (xterms,  usually).   One  of them will run bochs, and the other
              will act as com1. Find out the tty the  com1  window  using  the
              ‘tty’  command,  and  use  that as the ‘dev’ parameter.  Then do
              ‘sleep 1000000’ in the  com1  window  to  keep  the  shell  from
              messing  with things, and run bochs in the other window.  Serial
              I/O to com1 (port 0x3f8) will all go to the other window.

              Other serial modes are ’null’ (no input/output), ’file’  (output
              to a file specified as the ’dev’ parameter), ’raw’ (use the real
              serial  port  -  under  construction  for  win32)  and   ’mouse’
              (standard   serial   mouse   -  requires  mouse  option  setting
              ’type=serial’ or ’type=serial_wheel’)

                com1: enabled=term, dev=/dev/ttyp7
                com2: enabled=1, mode=file, dev=serial.out
                com1: enabled=1, mode=mouse

       parport1: or parport2:
              This defines a parallel (printer) port. When turned  on  and  an
              output   file   is  defined  the  emulated  printer  port  sends
              characters printed by the guest OS into the output file. On some
              platforms  a device filename can be used to send the data to the
              real parallel port (e.g. "/dev/lp0" on Linux).

                parport1: enabled=1, file=parport.out
                parport2: enabled=1, file="/dev/lp0"
                parport1: enabled=0

       boot:  This defines the boot sequence. Now you can specify up to 3 boot
              drives,  which  can  be  ’floppy’,  ’disk’, ’cdrom’ or ’network’
              (boot ROM).  Legacy ’a’ and ’c’ are also supported.

                boot: cdrom, floppy, disk

              This disables the 0xaa55 signature check on  boot  floppies  The
              check is enabled by default.

                floppy_bootsig_check: disabled=1

       log:   Give  the  path of the log file you’d like Bochs debug and misc.
              verbiage to be written to.   If you really don’t want  it,  make
              it /dev/null.

                log: bochs.out
                log: /dev/tty               (unix only)
                log: /dev/null              (unix only)

              This handles the format of the string prepended to each log line
              : You may use those special tokens :
                %t : 11 decimal digits timer tick
                %i : 8 hexadecimal digits of cpu0 current eip
                %e  :  1  character  event  type  (’i’nfo,  ’d’ebug,  ’p’anic,
                %d : 5 characters string of the device, between brackets

              Default : %t%e%d

                logprefix: %t-%e-@%i-%d
                logprefix: %i%e%d

       panic: If   Bochs   reaches   a  condition   where  it  cannot  emulate
              correctly, it does  a  panic.   This   can  be  a  configuration
              problem   (like  a  misspelled  bochsrc  line)  or  an emulation
              problem (like an unsupported video mode). The  "panic"   setting
              in   bochsrc  tells  Bochs  how to respond to a panic.  You  can
              set this to fatal  (terminate  the  session),   report    (print
              information  to the console), or ignore (do nothing).

              The  safest setting is action=fatal. If you are getting  panics,
              you  can  try  action=report instead.  If  you  allow  Bochs  to
              continue  after  a  panic, don’t be surprised if you get strange
              behavior or crashes if a panic  occurs.   Please  report   panic
              messages   unless   it  is  just  a configuration  problem  like
              "could  not find hard drive image."

                panic: action=fatal

       error: Bochs produces an error message when it  finds a condition  that
              really  shouldn’t  happen,  but doesn’t endanger the simulation.
              An example of an error  might be   if  the   emulated   software
              produces an illegal disk command.

              The  "error"  setting  tells  Bochs  how  to respond to an error
              condition.    You  can  set   this   to  fatal   (terminate  the
              session),   report  (print  information  to  the   console),  or
              ignore  (do nothing).

                error: action=report

       info:  This setting tells Bochs what to  do   when   an  event   occurs
              that   generates  informational messages.  You can  set this  to
              fatal  (that would not be  very  smart  though),  report  (print
              information  to  the  console),  or  ignore  (do nothing).   For
              general  usage,  the "report" option is probably a good  choice.

                info: action=report

       debug: This  setting  tells  Bochs what  to  do  with messages intended
              to assist in debugging.  You can set  this  to  fatal  (but  you
              shouldn’t),  report  (print  information  to  the   console), or
              ignore (do nothing). You should generally  set this  to  ignore,
              unless  you are  trying  to diagnose a particular problem.

              NOTE: When  action=report,   Bochs   may  spit  out thousands of
              debug messages per second, which can impact performance and fill
              up your disk.

                debug: action=ignore

              Give  the  path of the log file you’d like Bochs to log debugger
              output.  If you really don’t want it, make  it  ’/dev/null’,  or

                log: debugger.out
                log: /dev/null              (unix only)
                log: -

       sb16:  This   defines  the SB16 sound emulation. It can have several of
              the  following properties. All properties are in this format:
                sb16: property=value

              PROPERTIES FOR sb16:


              The  filename is where the midi data is  sent.  This can  be   a
              device  or just a file if  you want to record the midi data.


               0 = No data should be output.
               1 = output to device (system dependent - midi
               denotes the device driver).
               2 = SMF file output, including headers.
               3 = Output  the midi  data stream to the file
               (no  midi headers  and  no delta  times, just
               command and data bytes).


              This  is the device/file where wave  output is stored.


               0 = no data
               1 = output to device (system dependent - wave
               denotes the device driver).
               2 = VOC file output, including headers.
               3 = Output the raw wave stream to the file.


              The file to write the sb16 emulator messages to.


               0 = No log.
               1 = Resource changes, midi program and bank changes.
               2 = Severe errors.
               3 = All errors.
               4 = All errors plus all port accesses.
               5 = All  errors and port  accesses plus a lot
               of extra information.

              It is possible to change the loglevel at runtime.


              Microseconds per second for a DMA cycle.  Make it smaller to fix
              non-continuous sound.  750000 is  usually  a  good value.   This
              needs   a reasonably  correct   setting  for the  IPS  parameter
              of the CPU option.  It is possible to  adjust  the  dmatimer  at

              Example for output to OSS:
                sb16: midimode=1, midi=/dev/midi00,
                wavemode=1, wave=/dev/dsp, loglevel=2,
                log=sb16.log, dmatimer=600000

              Example for output to ALSA:
                sb16: midimode=1, midi=alsa:128:0,
                wavemode=1, wave=alsa,
                log=sb16.log, dmatimer=600000

              NOTE: The  examples are wrapped onto three  lines for formatting
              reasons, but  it should all  be   on  one  line  in  the  actual
              bochsrc file.

              Video  memory is scanned for updates and screen updated every so
              many virtual seconds. The default value is  50000,  about  20Hz.
              Keep  in  mind that you must tweak the ’cpu: ips=N’ directive to
              be as close to the number  of  emulated  instructions-per-second
              your  workstation can do, for this to be accurate.

                vga_update_interval: 250000

              Approximate  time  in  microseconds that it takes one  character
              to   be  transfered  from  the keyboard to controller  over  the
              serial path.

                keyboard_serial_delay: 200

              Approximate  time  in  microseconds  between  attempts  to paste
              characters to the keyboard controller. This leaves time for  the
              guest os to deal with the flow of characters.  The ideal setting
              depends on how your operating system processes characters.   The
              default  of 100000 usec (.1 seconds) was chosen because it works
              consistently in Windows.

              If your OS is losing characters during  a  paste,  increase  the
              paste delay until it stops losing characters.

                keyboard_paste_delay: 100000

       clock: This defines the parameters of the clock inside Bochs.


              This  defines  the  method how to synchronize the Bochs internal
              time with realtime. With the value ’none’ the Bochs time  relies
              on  the  IPS value and no host time synchronization is used. The
              ’slowdown’   method   sacrifices   performance    to    preserve
              reproducibility   while  allowing  host  time  correlation.  The
              ’realtime’  method  sacrifices   reproducibility   to   preserve
              performance and host-time correlation.  It is possible to enable
              both synchronization methods.


              Specifies the start (boot) time of the virtual  machine.  Use  a
              time  value  as returned by the time(2) system call. If no time0
              value is set or if time0 equal to 1 (special case) or  if  time0
              equal  ’local’,  the  simulation  will be started at the current
              local host time.  If time0 equal to 2 (special case) or if time0
              equal  ’utc’,  the simulation will be started at the current utc

                clock:                     sync=[none|slowdown|realtime|both],

              Default value are sync=none, time0=local

                clock:  sync=realtime, time0=938581955   # Wed Sep 29 07:12:35

       mouse: The Bochs gui creates mouse "events" unless the ’enabled’ option
              is  set  to  0. The hardware emulation itself is not disabled by
              this.  Unless you have a  particular  reason  for  enabling  the
              mouse  by  default, it is recommended that you leave it off. You
              can also toggle the mouse usage at runtime (control key + middle
              mouse  button).   With  the mouse type option you can select the
              type of mouse to emulate.  The default value is ’ps2’. The other
              choices   are   ’imps2’   (wheel   mouse   on  PS/2),  ’serial’,
              ’serial_wheel’ and ’serial_msys’ (one com port requires  setting
              ’mode=mouse’).  To  connect  a  mouse  to  an  USB port, see the
              ’usb_uhci’ or ’usb_ohci’ option (requires PCI and USB  support).

                mouse: enabled=0
                mouse: enabled=1, type=imps2

              Requests  that  the  GUI  create  and  use  it’s  own non-shared
              colormap.  This  colormap  will   be  used  when  in  the  bochs
              window. If not enabled, a shared  colormap  scheme  may be used.
              Once again, enabled=1  turns on this feature   and  0  turns  it

                private_colormap: enabled=1

              This option controls the presence of the i440FX PCI chipset. You
              can also specify the devices connected to PCI  slots.  Up  to  5
              slots  are available now. These devices are currently supported:
              ne2k, pcivga, pcidev, pcipnic and usb_ohci. If Bochs is compiled
              with  Cirrus  SVGA  support  you’ll  have  the additional choice

                i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k

              Enables the mapping of a host PCI hardware device within the PCI
              subsystem of the Bochs x86 emulator. This feature requires Linux
              as a host OS.

                pcidev: vendor=0x1234, device=0x5678

              The vendor and device arguments should  contain  the  vendor  ID
              respectively  the  device  ID  of the PCI device you want to map
              within Bochs.  The PCI mapping is still very experimental.

       ne2k:  Defines the characteristics of an attached ne2000 isa card :

              PROPERTIES FOR ne2k:

              ioaddr, irq: You probably won’t need to change ioaddr  and  irq,
              unless there are IRQ conflicts.  These parameters are ignored if
              the NE2000 is assigned to a PCI slot.

              mac: The MAC address MUST NOT match the address of  any  machine
              on  the net.  Also, the first byte must be an even number (bit 0
              set  means  a   multicast   address),   and   you   cannot   use
              ff:ff:ff:ff:ff:ff because that’s the broadcast address.  For the
              ethertap module, you must use fe:fd:00:00:00:01.  There  may  be
              other  restrictions  too.   To  be  safe,  just use the b0:c4...

              ethmod: The ethmod value defines which  low  level  OS  specific
              module to be used to access physical ethernet interface. Current
              implemented values include
               - fbsd   : ethernet on freebsd and openbsd
               - linux  : ethernet on linux
               - win32  : ethernet on win32
               - tap    : ethernet through a linux tap interface
               - tuntap : ethernet through a linux tuntap interface

              If you don’t want to make connections to any physical  networks,
              you  can  use  the  following  ’ethmod’s  to  simulate a virtual
               - null   : All packets are discarded, but logged to a few files
               - arpback: ARP is simulated (disabled by default)
               - vde    : Virtual Distributed Ethernet
               - vnet   : ARP, ICMP-echo(ping), DHCP and TFTP are simulated
                          The virtual host uses
                          DHCP assigns to the guest
                          The  TFTP  server  use ethdev for the root directory
              and doesn’t
                          overwrite files

              ethdev: The ethdev value is the name of the network interface on
              your  host  platform.  On UNIX machines, you can get the name by
              running ifconfig.  On Windows machines, you must run niclist  to
              get  the  name  of  the  ethdev.   Niclist  source  code  is  in
              misc/niclist.c and it is included in Windows binary releases.

              script: The script value is optional,  and  is  the  name  of  a
              script  that  is  executed  after  bochs  initialize the network
              interface. You can use this script  to  configure  this  network
              interface,  or  enable  masquerading.  This is mainly useful for
              the tun/tap devices that only exist during Bochs execution.  The
              network  interface  name  is  supplied  to  the  script as first

                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd,
                ne2k:      ioaddr=0x300,     irq=9,     mac=b0:c4:20:00:00:00,
              ethmod=linux, ethdev=eth0
                ne2k:     ioaddr=0x300,     irq=9,      mac=b0:c4:20:00:00:01,
              ethmod=win32, ethdev=MYCARD
                ne2k:  ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap,
                ne2k:     ioaddr=0x300,     irq=9,      mac=fe:fd:00:00:00:01,
              ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
                ne2k:  ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde,
                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet,

       pnic:  To   support  the  Bochs/Etherboot  pseudo-NIC,  Bochs  must  be
              compiled with the --enable-pnic configure option. It accepts the
              same  syntax  (for mac, ethmod, ethdev, script) and supports the
              same networking modules as the NE2000 adapter.  In  addition  to
              this, it must be assigned to a PCI slot.

                pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet

              This  enables  a  remap  of  a  physical localized keyboard to a
              virtualized us keyboard, as the  PC  architecture  expects.   If
              enabled, the keymap file must be specified.

                 keyboard_mapping: enabled=1, map=gui/keymaps/

              Type  of  emulated  keyboard sent back  to the OS to a "keyboard
              identify"  command.  It must be one of "xt", "at" or "mf".

                keyboard_type: mf

              This defines the keyboard shortcut to be sent when you press the
              "user"  button  in  the  header  bar.  The  shortcut string is a
              combination of maximum 3 key names (listed below) separated with
              a ’-’ character.

              Valid key names:

              "alt",  "bksl",  "bksp",  "ctrl", "del", "down", "end", "enter",
              "esc", "f1", ... "f12", "home", "ins", "left", "menu",  "minus",
              "pgdwn", "pgup", "plus", "right", "shift", "space", "tab", "up",
              "win", "print" and "power".

                user_shortcut: keys=ctrl-alt-del

              This defines image file that can be loaded into the CMOS RAM  at
              startup.  The rtc_init parameter controls whether initialize the
              RTC with values stored  in  the  image.  By  default  the  time0
              argument   given   to   the   clock   option   is   used.   With
              ’rtc_init=image’ the image is the source for the initial time.

                cmosimage: file=cmos.img, rtc_init=time0

              This option controls the presence of the USB root hub which is a
              part  of  the  i440FX PCI chipset. With the portX option you can
              connect  devices  to  the  hub  (currently  supported:  ’mouse’,
              ’tablet’, ’keypad’, ’disk’, ’cdrom’ and ’hub’).

              If  you  connect  the mouse or tablet to one of the ports, Bochs
              forwards the mouse movement data to the USB  device  instead  of
              the  selected  mouse type.  When connecting the keypad to one of
              the ports, Bochs forwards the input of the numeric keypad to the
              USB device instead of the PS/2 keyboard.

              To connect a flat image as an USB hardisk you can use the ’disk’
              device with the path to the image separated with  a  colon  (see
              below).  To  emulate an USB cdrom you can use the ’cdrom’ device
              name and the path to an  ISO  image  or  raw  device  name  also
              separated with a colon.

              The device name ’hub’ connects an external hub with max. 8 ports
              (default: 4) to the root hub. To specify the number of ports you
              have to add the value separated with a colon. Connecting devices
              to the external hub ports  is  only  available  in  the  runtime

                usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img
                usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso

              This   option  controls  the  presence  of  the  USB  OHCI  host
              controller with a 2-port hub. The portX option accepts the  same
              device  types  with  the same syntax as the UHCI controller (see
              above). The OHCI HC must be assigned to a PCI slot.

                usb_ohci: enabled=1

              Controls the presence of optional  plugins  without  a  separate
              option.   By  default  all  existing  plugins are enabled. These
              plugins are currently supported: ’acpi’, ’biosdev’, ’extfpuirq’,
              ’gameport’, ’iodebug’, ’pci_ide’, ’speaker’ and ’unmapped’.

                plugin_ctrl: biosdev=0, speaker=0

              Load user-defined plugin. This option is available only if Bochs
              is compiled with plugin support. Maximum 8 different plugins are
              supported.   See the example in the Bochs sources how to write a
              plugin device.

                user_plugin: name=testdev


       This program  is distributed   under  the  terms  of  the   GNU  Lesser
       General   Public   License   as   published   by   the   Free  Software
       Foundation.  See  the  COPYING file located   in  /usr/share/doc/bochs/
       for details on the license and the lack of warranty.


       The latest version of this program can be found at:


       bochs(1), bochs-dlx(1), bximage(1), bxcommit(1)

       The Bochs IA-32 Emulator site on the World Wide Web:

       Online Bochs Documentation


       The     Bochs    emulator    was     created     by    Kevin     Lawton
       (,   and   is   currently   maintained  by   the
       members  of   the   Bochs  x86 Emulator Project.  You can see a current
       roster of members at:


       Please  report all  bugs to the bug tracker  on  our  web site. Just go
       to, and click "Bug Reports" on the sidebar
       under "Feedback".

       Provide a detailed description of the bug, the version of  the  program
       you  are  running,  the operating system you are running the program on
       and  the  operating   system  you are running in the emulator.