Bochs/bochs/docs-html/whatisbochs.html
2001-09-10 22:12:59 +00:00

369 lines
10 KiB
HTML

<HTML>
<HEAD>
<TITLE>What is Bochs?</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#ececec" LINK="#3333cc" VLINK="#666666">
<CENTER><H1><I>Welcome to the Bochs x86 PC Emulation Software Home Page!</I></H1></CENTER>
<H1>
What is Bochs?
</H1>
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.
<P>
Bochs is an open source project distributed under the <a
href="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General Public License</a>. It was originally a commercial product, but in March 2000
<a href="www.linux-mandrake.com">MandrakeSoft</a> bought Bochs and committed it
to Open Source. <a href="http://www.linux-mandrake.com/en/announce-bochs-20000323.php3">Here</a> is the press release.
<P>
Bochs now compiles/runs on many platforms. See the following list
for supported platforms and special notes:
<UL>
<LI><B>Unix/X11:</B> This is my main development platform.
<LI><B>BeOS:</B> I also did this port, originally to R3/PPC using
CodeWarrior. It now works on R4/x86 with egcs. Simon Huet
picked up maintaining/reworking the BeOS GUI port. Check
out Simon's
<A HREF="http://members.xoom.com/bebochs/">BeBochs</A> page.
<LI><B>Win32:</B> This port was done by David Ross. I've enhanced the build
process for Win32. You can compile with either the MS Visual C++ 5.0 or
GNU-Win32 environments. Go to <A HREF="win32.html">Compiling Bochs on Win32</A>
<LI><B>OS/2:</B> Nick Behnken used PE2LX to translate David Ross's Win32 port
to an OS/2 program. Check out
<A HREF="http://www.htc.net/~nbehnken">Nick Behnken's page</A>.
<LI><B>OS/2:</B> Craig Ballantyne ported bochs to OS/2. I will
integrate this back into the main bochs source soon. Check out the
<A HREF="http://www.guisoft-corp.com">guiSoft Corp. home page</A>.
<LI><B>Macintosh:</B>
David Batterham
<A HREF="mailto:drbatter@socs.uts.edu.au">drbatter@socs.uts.edu.au</A>
or
<A HREF="mailto:drbatter@yahoo.com">drbatter@yahoo.com</A>
ported bochs to the Mac. His changes are integrated, though it
is work in progress. He compiled with CodeWarrior Pro R1 (CW12),
and included a project file 'Bochs.proj' in the top-level directory
of source code, which you may need to modify. I added
a '--with-macos' option to configure, so you can use a Unix
machine to generate header files for the Mac.
Check out David's
<A HREF="http://members.xoom.com/macbochs/">MacBochs website</A>.
David has not had time to maintain the page or the Mac port since early
2000. If you have Mac development tools and want to contribute, contact
the developers list.
<LI><B>FreeDOS for Bochs:</B>
David Batterham
also offers information on running FreeDOS inside of bochs.
You can download a disk image with a pre-installed copy of FreeDOS,
a completely free DOS-like operating system.
Check out his website at
<A HREF="http://members.xoom.com/macbochs/freedos.html">
http://members.xoom.com/macbochs/freedos.html.</A>
<BR>
For more info about FreeDOS, see
<A HREF="http://www.freedos.org/">FreeDOS Web page</A>
</UL>
<P>
There's more! You can find more detailed testing information on the testing status page
on <a href="http://bochs.sourceforge.net">bochs.sourceforge.net</a>.
<BR>
<HR>
<H1>
<A NAME="Platforms">Platforms:</A>
</H1>
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.
<A HREF="mailto:kevin@bochs.com">kevin@bochs.com</A>
<P>
<TABLE BORDER>
<TR>
<TH>Architecture</TH>
<TH>O.S.</TH>
<TH>GUI</TH>
<TH>compiler</TH>
<TH>Bochs version</TH>
<TH>tested with</TH>
<TH>tested by</TH>
</TR>
<TR>
<TD>Sparc</TD>
<TD>Solaris 2.4</TD>
<TD>X11R6</TD>
<TD>gcc 2.7.2.1</TD>
<TD>971118a</TD>
<TD>Win'95</TD>
<TD><A HREF="mailto:kevin@bochs.com">Kevin Lawton</A></TD>
</TR>
<TR>
<TD>X86 PC</TD>
<TD>Solaris 7</TD>
<TD>X11R6</TD>
<TD>gcc 2.8.1</TD>
<TD>990708a
<TD>Win'95 boot disk only</TD>
<TD><A HREF="mailto:lab.village1@saritel.it">Danilo Paliani</A></TD>
</TR>
<TR>
<TD>x86 PC</TD>
<TD>BeOS R4</TD>
<TD>BeOS R4</TD>
<TD>gcc 2.9-beos-980929</TD>
<TD>990108+</TD>
<TD>Win'95</TD>
<TD><A HREF="mailto:kevin@bochs.com">Kevin Lawton</A></TD>
</TR>
<TR>
<TD>BeBox PPC</TD>
<TD>BeOS PR2</TD>
<TD>BeOS PR2</TD>
<TD>CodeWarrior</TD>
<TD>971118a</TD>
<TD>Win'95</TD>
<TD><A HREF="mailto:kevin@bochs.com">Kevin Lawton</A></TD>
</TR>
<TR>
<TD>x86 PC</TD>
<TD>Linux 2.0.30</TD>
<TD>X11R6</TD>
<TD>gcc 2.7.2.1</TD>
<TD>971118a</TD>
<TD>Win'95</TD>
<TD><A HREF="mailto:kevin@bochs.com">Kevin Lawton</A></TD>
</TR>
<TR>
<TD>x86 PC</TD>
<TD>FreeBSD 2.2/3.0</TD>
<TD>X11R6</TD>
<TD>gcc 2.7.2.1</TD>
<TD>971118a</TD>
<TD>DOS</TD>
<TD><A HREF="mailto:msmith@gsoft.com.au">msmith@gsoft.com.au</A></TD>
</TR>
<TR>
<TD>x86 PC</TD>
<TD>Windows '98</TD>
<TD>Windows '98</TD>
<TD>MS Visual C++ 5.0</TD>
<TD>980629</TD>
<TD>DOS</TD>
<TD><A HREF="mailto:kevin@bochs.com">Kevin Lawton</A></TD>
</TR>
<TR>
<TD>Mac?</TD>
<TD>MacOS?</TD>
<TD>MacOS?</TD>
<TD>CodeWarrior Pro R1 (CW12)</TD>
<TD>981222+</TD>
<TD>Win'95 text mode</TD>
<TD><A HREF="mailto:drbatter@socs.uts.edu.au">
drbatter@socs.uts.edu.au</A></TD>
</TR>
<TR>
<TD>Amiga 2000 (m68k)</TD>
<TD>Debian Linux 2.0</TD>
<TD>X11?</TD>
<TD>gcc?</TD>
<TD>981102</TD>
<TD>?</TD>
<TD><A HREF="mailto:101.55910@germanynet.de">Eckehard Schaefer</A></TD>
</TR>
<TR>
<TD>Alpha EV5</TD>
<TD>Digital Unix 5.0 pre-release</TD>
<TD>X11R6.3</TD>
<TD>Digital C++</TD>
<TD>990110b</TD>
<TD>Win95 boot disk only</TD>
<TD><A HREF="mailto:larry.gensch@digital.com">Larry Gensch</A></TD>
</TR>
<TR>
<TD>Compaq Alpha Station 600</TD>
<TD>Compaq Tru64 UNIX 5.1</TD>
<TD>X11</TD>
<TD>Compaq C V6.3-025</TD>
<TD>bugfix2</TD>
<TD>Linux</TD>
<TD><A HREF="mailto:Kenneth.block@compaq.com">Kenneth Block</A></TD>
</TR>
<TR>
<TD>AMIGA1200/68060</TD>
<TD>Linux/m68k 2.2.0 pre6 (RedHat5.1)</TD>
<TD>X11R6.3</TD>
<TD>gcc 2.7.2.3</TD>
<TD>990110b</TD>
<TD>FreeDOS</TD>
<TD><A HREF="mailto:syun@gol.com">syun@gol.com</A></TD>
</TR>
<TR>
<TD>PC/Pentium</TD>
<TD>Linux 2.0.35 (RedHat5.1)</TD>
<TD>X11R6.3</TD>
<TD>egcs-2.91.57</TD>
<TD>990110b</TD>
<TD>FreeDOS</TD>
<TD><A HREF="mailto:syun@gol.com">syun@gol.com</A></TD>
</TR>
<TR>
<TD>SGI Mips R5000 Indy</TD>
<TD>IRIX sage 6.5</TD>
<TD>X11R6</TD>
<TD>gcc 2.8.1</TD>
<TD>990127</TD>
<TD>dos 6.22</TD>
<TD><A HREF="mailto:mgoumans@cray.org">mgoumans@cray.org</A></TD>
</TR>
<TR>
<TD>Mips</TD>
<TD>IRIX 6.5</TD>
<TD>X11R6</TD>
<TD>SGI CC 7.2.1</TD>
<TD>981229</TD>
<TD>Win'95</TD>
<TD><A HREF="mailto:ltouati@ogilvy.net">ltouati@ogilvy.net</A></TD>
</TR>
<TR>
<TD>PowerMac 7300/400MP</TD>
<TD>LinuxPPC R4 (kernel 2.2.1)</TD>
<TD>X11R6.3</TD>
<TD>egcs-2.91.60</TD>
<TD>990127</TD>
<TD>DOS</TD>
<TD><A HREF="mailto:locutus@MIT.EDU">locutus@MIT.EDU</A></TD>
</TR>
<TR>
<TD>StrongARM</TD>
<TD>netbsd1.3.2 arm32</TD>
<TD>X11R6.3</TD>
<TD>gcc 2.7.2.1</TD>
<TD>990127d</TD>
<TD>PicoBSD</TD>
<TD><A HREF="mailto:andrew@andycole.force9.co.uk">Andrew Coles</A></TD>
</TR>
<TR>
<TD>RS/6000 PowerPC</TD>
<TD>AIX 4.3.2</TD>
<TD>X11R6</TD>
<TD>gcc 2.95.2</TD>
<TD>991114a</TD>
<TD>FreeDOS</TD>
<TD><A HREF="mailto:wissing@mail.desy.de">Christoph Wissing</A></TD>
</TR>
<TR>
<TD>G4 PowerPC</TD>
<TD>Yellowdog Linux</TD>
<TD>X11R6</TD>
<TD>gcc 2.95.2</TD>
<TD>bugfix2</TD>
<TD>Win95,DOS</TD>
<TD><A HREF="mailto:davis@enel.ucalgary.ca">Brad Davis</A></TD>
</TR>
</TABLE>
<BR>
<HR>
<H1>
<A NAME="Operating Systems">Operating Systems:</A>
</H1>
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.
<A HREF="mailto:kevin@bochs.com">kevin@bochs.com</A>
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.
<P>
<TABLE BORDER>
<TR>
<TH>Operating System</TH>
<TH>Status</TH>
</TR>
<TR>
<TD>Windows 95</TD>
<TD>works, but may fail during install</TD>
</TR>
<TR>
<TD>DOS 6.2</TD>
<TD>works, SCANDISK.EXE hangs</TD>
</TR>
<TR>
<TD>RedHat 5.x boot floppy</TD>
<TD>works</TD>
</TR>
<TR>
<TD>Pragma Linux</TD>
<TD>works</TD>
</TR>
<TR>
<TD>FreeDOS</TD>
<TD>works</TD>
</TR>
<TR>
<TD>Roadrunner</TD>
<TD>works</TD>
</TR>
<TR>
<TD>pico BSD</TD>
<TD>works</TD>
</TR>
<TR>
<TD><A HREF="http://www.tik.ee.ethz.ch/~topsy">Topsy</A></TD>
<TD>works</TD>
</TR>
<TR>
<TD>QNX version 3 demo disk</TD>
<TD>boot fails</TD>
</TR>
<TR>
<TD>Solaris 7/x86 "Device Configuration Assistant"</TD>
<TD>unknown</TD>
</TR>
<TR>
<TD>Interactive Unix</TD>
<TD>unknown</TD>
</TR>
</TABLE>
<BR>
<HR>
<H1>
What can you do with Bochs?
</H1>
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.
<P>
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.
<P>
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.
<P>
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.
</BODY>
</HTML>