2001-06-03 08:54:01 +04:00
< HTML >
< HEAD >
< TITLE > bochs: The Open Source IA-32 Emulation Project (Linux Documentation)< / TITLE >
< style TYPE = "text/CSS" >
<!--
A:link {color: blue; text-decoration: none}
A:visited {color: blue; text-decoration: none}
A:active {color: blue; text-decoration: none}
A:hover {color: blue; text-decoration: underline}
.sidebar {font-family:Verdana, Arial, Helvetica; color: #000000}
A.sidebar:link {color: #000000; font-style: normal; text-decoration: none}
A.sidebar:visited {color: #000000; font-style: normal; text-decoration: none}
A.sidebar:active {color: #000000; font-style: normal; text-decoration: none}
A.sidebar:hover {color: blue; text-decoration: underline}
-->
< / style >
< META NAME = "resource-type" CONTENT = "document" >
< META NAME = "distribution" CONTENT = "GLOBAL" >
< META NAME = "description" CONTENT = "Bochs IA-32 Emulator provides a virtual PC that can run operating systems such as Windows, Linux, and BSD." >
< META NAME = "copyright" CONTENT = "Copyright 2001 The Bochs Project." >
< META NAME = "keywords" CONTENT = "pc emulation, vmware, win4lin, netraverse, trelos, x86 emulation, emulator,insignia, softpc, connectix, virtualpc, fx!32, freemware, dynamic translation,open source, gnu, linux, windows, bsd" >
< META NAME = "Author" CONTENT = "Bryce Denney" >
< META HTTP-EQUIV = "Content-Type" CONTENT = "text/html;CHARSET=iso-8859-1" >
< / HEAD >
< BODY BGCOLOR = "#FFFFFF" VLINK = "#000000" ALINK = "#000000" LINK = "#000000" TOPMARGIN = "0" LEFTMARGIN = "0" MARGINWIDTH = "0" MARGINHEIGHT = "0" >
< BR >
< center >
< font face = "arial, helvetica" color = "#1e029a" size = "5" >
< b > The Bochs IA-32 Emulator Project< / b > < BR >
< b > Linux Documentation< / b >
< / font >
< / center >
< BR >
< BR >
2001-06-04 00:55:28 +04:00
This file is an introduction to Bochs, written for Linux users. It assumes
2001-06-03 08:54:01 +04:00
that you have just downloaded a Bochs binary distribution, and now you want to
see it work!
< BR > < BR >
< font face = "arial, helvetica" color = "#1e029a" size = "4" >
< b > Contents< / b >
< / font >
< BR >
< ul >
< li > < a href = "#recent" > Where is the most recent version?< / a >
< li > < a href = "#files" > What files were installed?< / a >
< li > Where's the < a href = "docs-html/faq.html" > FAQ< / a > ?
< li > Where is the rest of the documentation? (< a href = "docs-html/index.html" > local copy< / a > - < a href = "http://bochs.sourceforge.net/docs-html" > online< / a > )
< li > < a href = "#quickstart" > How can I try out Bochs in 10 minutes or less?< / a >
< li > < a href = "#tools" > What tools are included in this package?< / a >
< li > < a href = "#learnmore" > How do I learn more?< / a >
< li > Do you guys have a website? < a href = "http://bochs.sourceforge.net" > Take me there!< / a >
< / ul >
2001-06-04 00:55:28 +04:00
< a name = "recent" > < / a >
2001-06-03 08:54:01 +04:00
< font face = "arial, helvetica" color = "#1e029a" size = "4" >
< b > Where is the most recent version?< / b >
< / font >
< BR >
All versions of Bochs can be downloaded from the Bochs website at
< a href = "http://bochs.sourceforge.net" > http://bochs.sourceforge.net < / a > .
In the top-left corner of the web page, there is a link to the latest
release. On the web site, in addition to downloading Bochs, you can join
the bochs-developers or bochs-announce mailing lists, submit bug reports,
view the source code, and much more.
< BR >
2001-06-04 00:55:28 +04:00
< a name = "files" > < / a >
2001-06-03 08:54:01 +04:00
< BR >
< font face = "arial, helvetica" color = "#1e029a" size = "4" >
< b > What files were installed?< / b >
< / font >
< BR >
When you install a Bochs RPM for Linux, you get the Bochs executables and
tools, ROM image files, documentation, and a sample disk image that allows
Bochs to boot Linux. Here is a list of the files that are installed by the
RPM, and a brief description of each one. The files which can be viewed in
text form are shown as links. < br >
< table align = center border = 1 >
< th > File name < / th > < th > Description < / th >
2002-07-29 21:36:50 +04:00
< tr > < td > < a href = "README " > @prefix@/share/doc/bochs/README < / a > < / td > < td > the ReadMe file from the source distribution. < / td > < / tr >
< tr > < td > < a href = "COPYING " > @prefix@/share/doc/bochs/COPYING < / a > < / td > < td > copy of the LGPL license < / td > < / tr >
< tr > < td > < a href = "DOC-linux.html " > @prefix@/share/doc/bochs/DOC-linux.html < / a > < / td > < td > this file < / td > < / tr >
< tr > < td > /usr/man/man1/* < / td > < td > man pages for bochs, bochs-dlx and bximage < / td > < / tr >
< tr > < td > /usr/man/man5/* < / td > < td > man page for bochsrc < / td > < / tr >
< tr > < td > < a href = "docs-html/index.html " > @prefix@/share/doc/bochs/docs-html/* < / a > < / td > < td > a local copy of all Bochs documentation ( < a href = "http://bochs.sourceforge.net/docs-html" > Online copy< / a > )< / td > < / tr >
< tr > < td > < a href = "CHANGES " > @prefix@/share/doc/bochs/CHANGES < / a > < / td > < td > what is changed between versions < / td > < / tr >
< tr > < td > @prefix@/share/bochs/BIOS-bochs-latest < / td > < td > ROM BIOS image for Bochs < / td > < / tr >
< tr > < td > @prefix@/share/bochs/VGABIOS-elpin-2.40 < / td > < td > VGA BIOS image for Bochs < / td > < / tr >
< tr > < td > < a href = "VGABIOS-elpin-LICENSE " > @prefix@/share/bochs/VGABIOS-elpin-LICENSE < / a > < / td > < td > license for VGA BIOS < / td > < / tr >
< tr > < td > < a href = "bochsrc-sample.txt" > @prefix@/share/doc/bochs/bochsrc-sample.txt< / a > < / td > < td > sample Bochs configuration file < / td > < / tr >
2001-11-10 06:48:22 +03:00
< tr > < td > @prefix@/bin/bochs < / td > < td > the main Bochs executable (This is actually a symbolic link to @prefix@/bochs/@VERSION@/bochs) < / td > < / tr >
< tr > < td > @prefix@/bin/bximage < / td > < td > tool for making new disk images (This is actually a symbolic link to @prefix@/bochs/@VERSION@/bximage)< / td > < / tr >
< tr > < td > @prefix@/bin/bochs-docs < / td > < td > script to start up browser with this page < / td > < / tr >
< tr > < td > @prefix@/bin/bochs-dlx < / td > < td > run this script to try out DLX Linux inside Bochs!< / td > < / tr >
2002-07-29 21:36:50 +04:00
< tr > < td > @prefix@/share/bochs/dlxlinux/ < / td > < td > directory containing DLX linux sample disk image < / td > < / tr >
< tr > < td > < a href = "../dlxlinux/README " > @prefix@/share/bochs/dlxlinux/README < / a > < / td > < td > description of DLX linux< / td > < / tr >
< tr > < td > < a href = "../dlxlinux/bochsrc.txt " > @prefix@/share/bochs/dlxlinux/bochsrc.txt < / a > < / td > < td > Bochs configuration file for DLX< / td > < / tr >
< tr > < td > @prefix@/share/bochs/dlxlinux/hd10meg.img < / td > < td > disk image file (10 meg) < / td > < / tr >
< tr > < td > < a href = "../dlxlinux/testform.txt " > @prefix@/share/bochs/dlxlinux/testform.txt < / a > < / td > < td > Form for reporting success or failure < / td > < / tr >
2001-06-03 08:54:01 +04:00
< / table >
2001-06-04 00:55:28 +04:00
< a name = "quickstart" > < / a >
2001-06-03 08:54:01 +04:00
< BR >
< font face = "arial, helvetica" color = "#1e029a" size = "4" >
< b > How can I try out Bochs in 10 minutes or less?< / b >
< / font >
< BR >
This RPM package includes a sample disk image containing DLX Linux, which you
can boot within Bochs. To start up DLX linux, just type "bochs-dlx" in an
xterm. This will create a Bochs Display window, and print some log messages
into the xterm. The display window is the most interesting, but if something
goes wrong the log messages should give an idea of what has happened.
< br > < br >
One common problem in X windows is that the screen colors can be abnormal
if other X programs have already allocated all the colors. (This assumes that
you are in 8-bit color mode.) If the colors don't look right, try quitting
netscape, clearing any complex images in the background, etc. so that Bochs
has a chance to allocate the colors it needs.
< br > < br >
Meanwhile, the Bochs display screen looks like a PC booting, and in fact it is!
Bochs begins simulating a PC from the time the power turns on. You will see
the VGA BIOS message, and it begins loading Linux from the disk image. (The
disk image is just a big file that Bochs uses as if it were a real hard drive.)
After a while, you see Linux boot messages and eventually a login prompt. You
are now running DLX Linux in a window!
< br > < br >
Bochs simulates every instruction of an x86 CPU, so it is very memory- and
compute-intensive. The speed of your real CPU will make a big difference in
how fast the DLX Linux image boots. On a 750MHz Pentium, the sample Linux
image takes about 25 seconds to boot.
< br > < br >
Booting is complete when you see "dlx login:" and a cursor. At this login
prompt, type "root". On UNIX systems, root is the system admin user.
There is no password for root on this image, so it lets you log in
immediately. Now you should see a UNIX prompt, and you can begin to
type UNIX commands.
< BR > < br >
< center >
< table border = 1 >
< td >
< PRE >
Welcome to DLX V1.0 (C) 1995-96 Erich Boehm
(C) 1995 Hannes Boehm
dlx login: < b > root< / b >
Linux 1.3.89.
dlx:~# < b > pwd< / b >
/root
dlx:~# < b > cd /< / b >
dlx:~# < b > ls< / b >
bin/ etc/ lost+found/ root/ usr/
boot/ fd/ mnt/ sbin/ var/
dev/ lib/ proc/ tmp/ zip/
dlx:/# < b > df< / b >
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/hda1 10060 2736 6005 29% /
dlx:/# _
< / PRE >
< / td >
< / table >
< / center >
< br >
One thing you may notice is that the screen saver turns on (screen goes
blank) very quickly when you have stopped typing. The reason is that Bochs
always simulates as fast as it can. If the CPU is very busy (running
instructions nonstop), simulated time goes by slowly. If the CPU is idle (just
waiting for you to type, for example), simulated time speeds up dramatically.
In any case, If the screen saver blanks out the screen, just press a key (try
shift or control) to restore the screen.
< br >
< br >
When you get tired of playing with DLX Linux, just type "reboot" in the Bochs
window to shut down the DLX Linux operating system. You can also press
the "Power" button to stop the simulation.
< br >
< br >
In this brief introduction you saw how Bochs can boot and run an x86 operating
system in a window. It doesn't have to be Linux, of course! Various people
have been able to install and run DOS, Windows 3.1, Windows 95, Windows 98,
Windows NT, Linux, FreeBSD, NetBSD, OpenBSD, and probably others that we've
never even heard of. In fact Bochs is used by many operating system developers
to test out their software in a controlled environment without having to
reboot their development machine.
< br > < br >
2001-06-04 00:55:28 +04:00
< a name = "tools" > < / a >
2001-06-03 08:54:01 +04:00
< BR >
< font face = "arial, helvetica" color = "#1e029a" size = "4" >
< b > What tools are included in this package?< / b >
< / font >
< BR >
Other than the bochs binary, there is a disk image creation tool
called bximage, a script called bochs-docs which calls up this
page in a browser, and a script called bochs-dlx which makes it easy
to start up DLX Linux.
< br > < br >
< font face = "arial, helvetica" color = "#1e029a" size = "3" >
< b > bochs-dlx< / b >
< / font >
< BR >
This script makes it quick and easy to start up DLX Linux within bochs.
"bochs-dlx" should run as soon as you install the RPM. All the script actually
2001-11-10 06:48:22 +03:00
does is to cd into @prefix@/bochs/dlxlinux and then run bochs from there.
2001-06-03 08:54:01 +04:00
< br > < br >
< font face = "arial, helvetica" color = "#1e029a" size = "3" >
< b > bochs-docs< / b >
< / font >
< BR >
The bochs-docs script starts up your web browser and points it
to this HTML file. If you don't have netscape installed, you will
have to edit the BROWSER variable in bochs-docs to make it work.
< br > < br >
< font face = "arial, helvetica" color = "#1e029a" size = "3" >
< b > bximage< / b >
< / font >
< BR >
Bximage is a small program that helps to create empty floppy disk
2001-06-04 00:55:28 +04:00
and hard disk images. To use it, you should run bximage in an xterm.
Just CD to the directory where you want the disk images to go, and run bximage.
Bximage will ask you some questions about what type of disk image you need, and
then create one for
2001-06-03 08:54:01 +04:00
you.
< br > < br >
Here is an example run of bximage, in which I made a 12-meg hard disk image called c.img. The default answer to a question is always printed in brackets.
If you want to accept the default choice, you can just press return. Also,
you can always quit bximage by pressing Control-C.
< br > < br >
< table align = center border = 1 >
< td >
< pre >
linux$ < b > bximage< / b >
========================================================================
bximage
Disk Image Creation Tool for Bochs
========================================================================
Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd]
Enter the hard disk size in megabytes, between 1 and 32255
[10] < b > 12< / b >
I will create a hard disk image with
cyl=24
heads=16
sectors per track=63
total sectors=24192
total size=11.81 megabytes
What should I name the image?
[c.img]
Writing: [............] Done.
I wrote 12386304 bytes to c.img.
The following line should appear in your bochsrc:
diskc: file="c.img", cyl=24, heads=16, spt=63
< / pre >
< / td >
< / table >
< br > < br >
In order for Bochs to know to use the hard disk image, you should type
the diskc line into your bochsrc.txt. You can also change it to diskd
if you already have a diskc line, but be careful not to have both
diskd and cdromd--these options cannot be used together.
< br > < br >
2001-06-04 00:55:28 +04:00
< a name = "learnmore" > < / a >
2001-06-03 08:54:01 +04:00
< BR >
< font face = "arial, helvetica" color = "#1e029a" size = "4" >
< b > Where can I learn more?< / b >
< / font >
< BR >
Here are some sources of more information about Bochs:
< ul >
< li > The rest of the documentation (< a href = "docs-html/index.html" > local copy< / a > - < a href = "http://bochs.sourceforge.net/docs-html" > online< / a > )
< li > The bochs-developers mailing list ( < a href = "http://bochs.sourceforge.net/mailinglists.html" > online < / a > )
< li > The Bochs website at < a href = "http://bochs.sourceforge.net" > http://bochs.sourceforge.net< / a > has a collection of disk images of different operating systems. Some disk images are the size of a floppy disk (1 meg compressed) and others are gigantic (160 meg compressed). ( < a href = "http://bochs.sourceforge.net/diskimages.html" > Go there< / a > )
< / ul >
< / BODY >
< / HTML >