The Bochs IA-32 Emulator Project
Win32 Documentation
This file is an introduction to Bochs, written for Windows users. It assumes that you have just downloaded a Bochs binary distribution, and now you want to see it work!
Contents

- Where is the most recent version?
- What files were installed?
- Where's the FAQ?
- Where is the rest of the documentation? (local copy - online)
- How can I try out Bochs in 10 minutes or less?
- What tools are included in this package?
- How do I learn more?
- Do you guys have a website? Take me there!

Where is the most recent version?
All versions of Bochs can be downloaded from the Bochs website at http://bochs.sourceforge.net . 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.
What files were installed?
When you install a Bochs binary release for win32, you get the Bochs executables and tools, ROM image files, documentation, and a sample disk image that allows Bochs to boot Linux. Once you unzip the Bochs ZIP file, here is a list of the files that are installed, and a brief description of each one. The files which can be viewed in text form are shown as links.

File name | Description
README.txt | the ReadMe file from the source distribution.
COPYING.txt | copy of the LGPL license
DOC-win32.htm | this file
docs-html/* | a local copy of all Bochs documentation ( Online copy )
CHANGES.txt | what is changed between versions
BIOS-bochs-latest | ROM BIOS image for Bochs
VGABIOS-elpin-2.40 | VGA BIOS image for Bochs
VGABIOS-elpin-LICENSE.txt | license for VGA BIOS
bochs.exe | the main Bochs executable
bximage.exe | tool for making new disk images
sb16ctrl.exe | tool to control sb16 in Bochs
sb16ctrl.txt | examples of sb16ctrl commands
dlxlinux/ | directory containing DLX linux sample disk image
dlxlinux/README.txt | description of DLX linux
dlxlinux/bochsrc.txt | Bochs configuration file for DLX
dlxlinux/hd10meg.img | disk image file (10 meg)
dlxlinux/start.bat | Run this BAT file to try out DLX Linux inside Bochs!
dlxlinux/testform.txt | Form for reporting success or failure

How can I try out Bochs in 10 minutes or less?
This package includes a sample disk image containing DLX Linux, which you can boot within Bochs. Use the Windows Explorer to find c:\bochs\dlxlinux\start.bat, and double-click start.bat. This will launch two windows: one is the Bochs Display window, and the other is text window that shows Bochs log messages. Normally the display window is the most interesting, but if something goes wrong the log messages should give an idea of what has happened. You may notice that your mouse pointer has disappeared into the Bochs Display window. Press F12 to get the cursor back.
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 Linux in a window!
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.
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.

      Welcome to DLX V1.0 (C) 1995-96 Erich Boehm
                          (C) 1995    Hannes Boehm

      dlx login: root
      Linux 1.3.89.
      dlx:~# pwd
      /root
      dlx:~# cd /
      dlx:~# ls
      bin/       etc/       lost+found/       root/       usr/
      boot/      fd/        mnt/              sbin/       var/
      dev/       lib/       proc/             tmp/        zip/
      dlx:/# df
      Filesystem    1024-blocks   Used  Available Capacity Mounted on
      /dev/hda1        10060      2736      6005     29%   /
      dlx:/# _

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.
When you get tired of playing with UNIX, just type "reboot" to shut down the Linux operating system. You can also press the "Power" button to stop the simulation.
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.
What tools are included in this package?
There are two tools for win32: bximage and sb16ctrl.
bximage
Bximage is a small program that helps to create empty floppy disk and hard disk images. To use it, you should run bximage in an MSDOS window. (You could also double-click on it, but then you won't be able to read the last few lines of output before the window disappears.) 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 you.
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.

    c:\bochs> bximage
    ========================================================================
                                    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] 12

    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 1.386304 bytes to c.img.

    The following line should appear in your bochsrc:
      diskc: file="c.img", cyl=24, heads=16, spt=63

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.
sb16ctrl
The other tool for windows is called sb16ctrl, and it is used to configure the Bochs emulated sound blaster. (If you know any more about it please post a description to bochs-developers.)
Where can I learn more?
Here are some sources of more information about Bochs:

- The rest of the documentation ( local copy - online)
- The bochs-developers mailing list ( online )
- The Bochs website at http://bochs.sourceforge.net 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). ( Go there )