Welcome to the Bochs x86 PC Emulation Software Home Page!

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.

Bochs is an open source project distributed under the GNU Lesser General Public License. It was originally a commercial product, but in March 2000 MandrakeSoft bought Bochs and committed it to Open Source. Here is the press release.

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

There's more! You can find more detailed testing information on the testing status page on bochs.sourceforge.net.


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. kevin@bochs.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 Solaris 7 X11R6 gcc 2.8.1 990708a Win'95 boot disk only Danilo Paliani
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
Compaq Alpha Station 600 Compaq Tru64 UNIX 5.1 X11 Compaq C V6.3-025 bugfix2 Linux Kenneth Block
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
StrongARM netbsd1.3.2 arm32 X11R6.3 gcc 2.7.2.1 990127d PicoBSD Andrew Coles
RS/6000 PowerPC AIX 4.3.2 X11R6 gcc 2.95.2 991114a FreeDOS Christoph Wissing
G4 PowerPC Yellowdog Linux X11R6 gcc 2.95.2 bugfix2 Win95,DOS Brad Davis


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. kevin@bochs.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
pico BSD works
Topsy works
QNX version 3 demo disk boot fails
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. 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.