bochsrc (5) - Linux Manuals
bochsrc: Configuration file for Bochs.
Command to display bochsrc
manual in Linux: $ man 5 bochsrc
NAME
bochsrc - Configuration file for Bochs.
DESCRIPTION
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 directory.
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/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.
OPTIONS
- #include
-
This option includes another configuration file. It is
possible to put installation defaults in a global config
file (e.g. location of rom images).
Example:
#include /etc/bochsrc
- config_interface:
-
The configuration interface is a series of menus or dialog boxes that
allows you to change all the settings that control Bochs's behavior.
There are two choices of configuration interface: a text mode version
called "textconfig" and a graphical version called "wx". The text
mode version uses stdin/stdout and is always compiled in. The graphical
version 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.
Example:
config_interface: textconfig
- display_library:
-
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 platform
rfb provides an interface to AT&T's VNC viewer, cross platform
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 options.
NOTE:
if you use the "wx" configuration interface, you must also use
the "wx" display library.
Examples:
display_library: x
display_library: rfb, options="timeout=60" # time to wait for client
display_library: sdl, options="fullscreen" # startup in fullscreen mode
display_library: x, options="hideIPS" # disable IPS output in status bar
- romimage:
-
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.
Examples:
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:
count:
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.
quantum:
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_on_triple_fault:
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 !
cpuid_limit_winnt:
Determine whether to limit maximum CPUID function to 3. This mode is
required to workaround WinNT installation and boot issues.
msrs:
Define path to user CPU Model Specific Registers (MSRs) specification.
See example in msrs.def.
vendor_string:
Set the CPUID vendor string returned by CPUID(0x0). This should be a
twelve-character ASCII string.
brand_string:
Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004).
This should be at most a forty-eight-character ASCII string.
ips:
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 gui).
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.
Example:
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.
Example:
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
Example:
optromimage1: file=optionalrom.bin, address=0xd0000
- vgaromimage:
-
You also need to load a VGA ROM BIOS into 0xC0000.
Examples:
vgaromimage: file=bios/VGABIOS-elpin-2.40