What is Bochs?

Bochs is a portable x86 PC emulation software package that emulates enough of the x86 CPU, related AT hardware, and BIOS to run DOS, Windows '95, Minix 2.0, and other OS's, all on your workstation.

Though Bochs is commercial software, source code for Bochs is available on the Internet, provided you abide by the license with the source code.

Bochs now compiles/runs on many platforms. See the following list for supported platforms and special notes:



Platforms:

Here is a list of platforms on which Bochs has successfully been compiled and run, starting as of version bochs-971118a. Note that, Bochs will compile/run on many other platforms, but I'm starting the list from scratch again. If you have had success with Bochs, please let me know so that I can add your platform to this list. bochs@world.std.com

Architecture O.S. GUI compiler Bochs version tested with tested by
Sparc Solaris 2.4 X11R6 gcc 2.7.2.1 971118a Win'95 Kevin Lawton
x86 PC BeOS R4 BeOS R4 gcc 2.9-beos-980929 990108+ Win'95 Kevin Lawton
BeBox PPC BeOS PR2 BeOS PR2 CodeWarrior 971118a Win'95 Kevin Lawton
x86 PC Linux 2.0.30 X11R6 gcc 2.7.2.1 971118a Win'95 Kevin Lawton
x86 PC FreeBSD 2.2/3.0 X11R6 gcc 2.7.2.1 971118a DOS msmith@gsoft.com.au
x86 PC Windows '98 Windows '98 MS Visual C++ 5.0 980629 DOS Kevin Lawton
Mac? MacOS? MacOS? CodeWarrior Pro R1 (CW12) 981222+ Win'95 text mode drbatter@socs.uts.edu.au
Amiga 2000 (m68k) Debian Linux 2.0 X11? gcc? 981102 ? Eckehard Schaefer
Alpha EV5 Digital Unix 5.0 pre-release X11R6.3 Digital C++ 990110b Win95 boot disk only Larry Gensch
AMIGA1200/68060 Linux/m68k 2.2.0 pre6 (RedHat5.1) X11R6.3 gcc 2.7.2.3 990110b FreeDOS syun@gol.com
PC/Pentium Linux 2.0.35 (RedHat5.1) X11R6.3 egcs-2.91.57 990110b FreeDOS syun@gol.com
SGI Mips R5000 Indy IRIX sage 6.5 X11R6 gcc 2.8.1 990127 dos 6.22 mgoumans@cray.org
Mips IRIX 6.5 X11R6 SGI CC 7.2.1 981229 Win'95 ltouati@ogilvy.net
PowerMac 7300/400MP LinuxPPC R4 (kernel 2.2.1) X11R6.3 egcs-2.91.60 990127 DOS locutus@MIT.EDU


Operating Systems:

For quick reference, here is a table listing the status of bochs' ability to run various Operating Systems. If you have run other ones not listed here, or would like to see new ones, please send me email. bochs@world.std.com See the chart above for more information. This information may have changed since it was last updated, and is provided for a brief overview. There are a lot of factors involved.

Operating System Status
Windows 95 works, but may fail during install
DOS 6.2 works, SCANDISK.EXE hangs
RedHat 5.x boot floppy works
Pragma Linux works
FreeDOS works
Roadrunner works
QNX version 3 demo disk boot fails
pico BSD unknown
Solaris 7/x86 "Device Configuration Assistant" unknown
Interactive Unix unknown


What can you do with Bochs?

Bochs can be compiled and used in a variety of modes, some which are still in development. The 'typical' use of bochs is to provide complete x86 PC emulation, including the x86 processor, hardware devices, and memory. This allows you to run OS's and software within the emulator on your workstation, much like you have a machine inside of a machine. For instance, let's say your workstation is a Unix/X11 workstation, but you want to run Win'95 applications. Bochs will allow you to run Win'95 and associated software on your Unix/X11 workstation, displaying a window on your workstation, simulating a monitor on a PC.

Currently, bochs emulates the x86 CPU completely in software, and does not run any instructions natively, even if you are running it on an x86 machine.

Bochs may be of interest to you for other special modes, or uses. To use bochs for these purposes, you must negotiate a special license with me. You may wish to use only the device models included with bochs in combination with your own CPU emulation, use it's CPU emulation with another set of device models, use it's built in non-intrusive debugger, co-emulate the bochs CPU model against another CPU emulator/simulator, or use data compiled from instrumentation facilities to analyze use of the x86 instruction set.

In addition to running x86 software on your workstation, bochs may be of interest to x86 clone projects, x86 device driver development teams, PC hardware development, and many other uses.