Setting up Bochs (win32 version) to run Windows 95 (updated 28 aug. 2001)
Then I run M64 emulation with bochs, It runs well, but I found in DRIVERS program that NE2000 is not initialized, I setup the Packet Driver in STACKCFG, with the correct DNS, and others, but NOT SUCCEDED. Bochs Sourceforge.net site revealed that the version of Bochs I was using had a bug in the serial driver (a fix is apparently in the current CVS tree). So I rebooted Windows under Bochs in safe mode and disabled the serial device. That allowed me to continue with the Windows configuration. DRM driver for (virtual) vga cards using the bochs dispi interface, such as the qemu standard vga (qemu -vga std). Don't bother supporting anything but 32bpp for. Now for the bootdisk. You can use a physical bootdisk with bochs (easier), or you can use an image. You can use any bootdisk that boots into dos and loads the CD-ROM drivers, I used the win98 bootdisk, and it worked very good. If you are going to use a physical disk you can go to number 4 now.
In this tutorial I will try to describe how to set up Windows 95 in the Windows version of the Bochs x86 emulator. There are many ways to install it but I describe one of them. You will need the Windows 95 install CD in order to fully use this tutorial. Also this was tested on a Windows 2000 machine, and in the current (1.2.1) version (when this was written) does not support physical CD-ROM or floppy access under Windows 9x/ME, so if you're using one of those systems you'll have to find another solution like making a diskimage of the CD (which isn't covered in this tutorial).
1. Download Bochs for Windows from bochs.sourceforge.net and unzip it. I also used the Rawwrite, which is often used to make bootdisks for linux installations. You can get the utils here. You will also need the Windows 95 cd.
2. Make a subdirectory (it doesn't have to be a subdir, it can probably be anywhere) in the bochs directory, for example 'win95'.
3. Making the images. Now you can use the program called bximage.exe to make a hard-drive image. The normal install of windows 95 is about 80Mb and you probably want some room for apps too.
The cyl, heads and sectors per track are important so you'd better write 'em down somewhere. When the image is ready, move the file to the subfolder.
Now for the bootdisk. You can use a physical bootdisk with bochs (easier), or you can use an image. You can use any bootdisk that boots into dos and loads the CD-ROM drivers, I used the win98 bootdisk, and it worked very good. If you are going to use a physical disk you can go to number 4 now. If you want to use a floppy disk image (for some odd reason), you can now use the rawwritewin.exe util that came in the dosutils zip file.
Put a bootdisk into the floppydrive, name the image (example: a.img) and push the 'read' button. Move the created floppy image to the subfolder you created earlier.
4. Now for the bochsrc file. I have uploaded a zip file here, containing my bochsrc and a bat file that I'm going to talk about further on in this tutorial.
The bochsrc file have to be in the same subdir as the images. The version I included is a modified version of the bochsrc file for the small linux distro that came along in your bochs version. I haven't modified the file much so if you want to modify it yourself, the file bochsrc-sample.txt in your bochs directory is an excellent model.
You must change the 'h:' in the line 'cdromd: dev=.h: , status=inserted' to the drive letter of your CD-ROM drive.
Then you have to change the cyl, heads and spt (sectors per track) values in the 'diskc: file=c.img, cyl=xxx, heads=xx, spt=xx' line to the correct ones for your image (you wrote it down when you made the image, hopefully :-P ) and change the c.img if you named your hard-disk image otherwise.
Also, if you're going to boot from a floppyimage instead of a physical floppy, you should change the line: 'floppya: 1_44=.a:, status=inserted' to 'floppya: 1_44=a.img, status=inserted' (if your floppyimage's name is a.img).
You should also put the file included in this file on a floppy and use rawwritewin to make it a floppyimage, put the image in the usual subdirectory. Edit the 'b.img' in the line '#floppyb: 1_44=b.img, status=inserted' in the bochsrc file to the name of the image of the disk with the mouse.com on it, so that you get a second floppy drive inside the emulator (B:) from where you can load the mouse drivers.
5. Now you have to make (or take the one from the bochsrc.zip file) a bat file that points to the bochs.exe in your bochs directory. If you created a subdir, the file just need to loke like this: .bochs , place the bat file in the same subdir as the images and bochsrc file.
6. Make sure you have the win95 cd in the cd-rom drive and the bootdisk (if you're using a physical one) in the floppy drive and then run the bat file. If everything goes right you should be booted into DOS.
When you've successfully booted to dos, you could run fdisk to partition the HD-image and then format it using format c:
Now you just run setup.exe from the win95 cd and if everything goes right you should soon have a working windows 95 in the emulator.
When you have finished installing Win95, you could do the following changes to the bochsrc file:
- Put the #-sign in this row: '#floppyb: 1_44=b.img, status=inserted', because you will probably not need the mouse drivers anymore now.
- change 'boot: a' to 'boot: c', so it will boot straight to windows when you start the emulator.
Enjoy!!!
Any comments can be sent to me!
Stefan 'MZGuy' Grönroos
How to Set Up and Run
The Bochs Emulator
on a Windows™ PC
6260b49g-Whichversiontochoose.rtf - 518.5 KBytes: C9900-S700-0049g.ISO - 1678848 KBytes: C9900-S700-0060b.ISO - 4371776 KBytes: C9900-S700-0062.ISO - 3327680 KBytes. Sort by name/- sort by date/- sort by size/-To Parent Directory C1120Cfg DriveTechnology embPC-Control EtherCAT HTMLHelp IndustrialPC TwinCAT 7 items.
Copyright©2012,2013 by Daniel B. Sedory
Almost a decade ago, we explained how BOCHS could be used to learn Linux commands on a Windows PC.
Now we'll show our readers how to use the Bochs Emulator to understand and debug Master Boot Records.
Although the Bochs Emulator has binaries and source code for a number of different OS Platforms (such as Linux), the following describes how Microsoft® Windows™ users in particular can set up and run various image files of other operating systems under the Bochs Emulator. First, download the latest Windows 32-bit Bochs install file. This SourceForge page will automatically find it on a site near you:
When last updated, the Bochs-2.6.2.exe download file is 4,691,702 bytes (4582 KiB; which can also be opened by the free 7-Zip program to inspect its contents). Bochs is easy on the Registry when installed, setting only an uninstall and file association for its '.bxrc' Configuration files; which then have a little 'box' icon next to them). The default install location: 'C:Program FilesBochs-2.6.2' has a number of subdirs, but it defaults to not installing 'dlxlinux,' so make sure you check the box for DLX part way through the install process, since we'll be using DLX to check your Bochs install.
Its 'docs' folder includes HTML documentation, of which only parts of the 'User Guide' will likely be helpful. You can read more about Bochs here: http://bochs.sourceforge.net/.
After you install Bochs, click on the new 'Linux Demo in Bochs 2.6.2' icon (a 'shortcut' to run.bat in the dlxlinux subfolder under Bochs-2.6.2). This will open both the 'Bochs for Windows - Console' and the 'Bochs for Windows - Display' in which you'll see the Bochs Emulator run through its own BIOS code similar to a real PC:
If you pressed the F12 key soon enough (start right after clicking on the icon to be sure), you would see the following appear in the Bochs for Windows Display:
Press F12 for boot menu.
Select boot device:
1. Floppy
2. Hard Disk
3. CD-Rom
_
This can be useful if you include a Floppy diskette image file in the Configuration file. Of course, without it, or a CD-ROM image file referenced there, pressing a '1' or '3' will simply result in an error message before Bochs moves on to booting from the hard disk. After Bochs starts booting from the DLX disk image file, you'll see the following scroll by on the display:
Quick Guide to Using Bochs (beginning with 'dlx linux'):
Note: It's perfectly normal for the 'dlxlinux' emulation screen to go completely 'blank' (all black) after a short time.. unless you keep typing data into it. (Pressing the 'SHIFT' key will cause it to reappear; as will many other keys, but SHIFT is very safe, since it doesn't enter anything on the command line.)
Holding down the 'SHIFT' key and pressing the 'PageUp' key, will allow you to scroll back up towards the beginning of the screen output. For each press of the PageUp key, it will scroll about 1/2 (one half) the number of lines in a full screen. This is a very common linux/Unix keyboard function. The 'SHIFT + PageDown' key combination will scroll back down towards the current command line.
Under dlx you only need to ENTER the word 'root' at the command line to login as the 'root' user. Once you have logged in, ENTER the following commands to see the common linux executables included with 'DLX' :
ls /bin /sbin /usr/bin /usr/sbin
Note: You'll also find a halt command in /etc that isn't even started (it's only one line: #!/bin/sh).
DLX does not include any man (manual) or info pages. You can try adding ' --help' after a command, but if you're not already familiar with UNIX/Linux commands, we'd recommend also searching online help pages to understand what each of these might be used for.
Please note; especially, if this is your first experience with linux, that DLX is an old and very limited linux distribution, and its version 1.3.89kernel (which is all that linux truly is from an operating system perspective) is very out-of-date, having come from a time when changes were being made to it almost daily. Kernel version 1.0.0 had only been released in March 1994 and 1.2.0 in March 1995, but by June 1996, versions of 2.0.x were already being released. Three rather important kernel releases were: 2.2.0 in January 1999, 2.4.0 in January 2001 and 2.6.0 in December 2003. So, you should obtain a more recent linux distribution, which along with the linux kernel, includes a great deal of GNU ('Gnu's Not Unix') software - free Unix-like utilities and applications. A Linux Live! CD or DVD can be run without installation, to see why having and learning how to use a Linux distribution can be very useful; even for a Windows PC tech. In summary, DLX is nothing like a recent Linux CD/DVD or full-blown GUI distribution that comes with more pre-installed applications than Windows ever will. If you wish to truly experience what Linux is like today, we'd recommend obtaining or downloading the .ISO image file of a recent Linux Distro such as the Ubuntu distribution which allows you to try running it directly from the CD; many online help forums exist for Ubuntu. (Note: Do not install it to your PC without first understanding everything about creating and using a dual-boot PC. A very useful alternative for many today would be to first install either Oracle's GNU licensed VirtualBox (only a 95 MiB D/L for Windows) or VMWare's free Player program, and install Ubuntu or any other Linux distro directly from its .ISO file as a virtual computerrunning under your Windows OS.)
A very nice and fairly recent alternative to DLX for running Linux under Bochs would be the 'Virtio i486' version of ttylinux (v 16.1 at this time). Although this is still a rather small .ISO image file (only 14 MiB; but note: You'll need a program like 7-Zip, WinRAR or WinZip to extract the .ISO file from inside the .GZ archive), it runs Linux kernel version 2.6.34.7. Please read our page on installing ttylinux under Bochs.
If you'd like learn more about Linux commands using DLX or Tom's RTBT and how create and install more elaborate Linux OS distributions under Bochs, such as Ubuntu, then read our older Linux Page here.
For the complete User Guide to Bochs, this file link should open in your PC's web browser: Bochs User Manual (if you installed Bochs as instructed to do so above), provided you first copy this web page to your local PC. Below is a quick guide (with notes) to the most commonly used Bochs Windows Display buttons (they're all explained in detail here: 5.3.2. The Bochs headerbar).
BUTTON | DESCRIPTION |
---|---|
USER | Allows user to enter a keystroke (or combination of keystrokes) directly into the Bochs Emulator without the Host OS intercepting them. For example, you can send the 'CRTL + ALT + DEL' combination to the emulated OS and the Host OS will do nothing. Only one keystroke line is allowed in the Configuration File, but you can edit it in the pop-up box before pressing the 'OK' button (or even change the stored line using the CONFIG button; see below, in its Misc section). |
Copy | Places all the text characters from current view of the Bochs Emulator screen into your Windows Clipboard. |
Paste | Emulates keystroke entries for whatever characters are in the Clipboard; do not use this button on a Command Line without first being sure of what's in the Clipboard! |
snapshot | Saves the same text data as the 'Copy' button does, but to a file of your choice and location (default name: 'snapshot.txt'); this can be very useful. |
CONFIG | This stops the running simulation and puts it into 'Runtime Configuration' mode. When you use this, do not click the 'Quit' button under the 'Simulation' section, unless you want to power-off the Bochs emulator! Instead, use the 'Continue' button. (See Bochs User guide here for more.) |
Reset | Does the same as a PC: Powers-off the Bochs Emulator and then turns it back ON again! Don't use this unless you're running a rather simple OS emulation (like DLX or DOS); unless your OS is 'hung'. |
SUSPEND | Supposed to save the simulation in its current state, but functionality is limited (should not be used with hard disk image files). Read section 5.4 Save and restore simulation. |
Power | Will immediately power off the emulated computer.. so do not use this until after you have tried entering the halt or the poweroff commands under a more complex Linux OS (or shutting down a Windows OS correctly). (Note: We've been unable to get any of the switches for 'shutdown' to function under this 'dlx' version; it only prints the same help message! And if you ENTER: shutdown now (not even listed), you'll still be disappointed, since that simply results in the message: 'shutdown: cannot get into single user mode' (So you must use the 'Power button' to turn off Bochs when running the Demo 'dlx' linux version.) |
Using Bochs to Learn Exactly How a PC Boots Up
For most of you who read our pages here at The Starman's Realm, the debugger program that comes with the Bochs Windows install package will be more important than simply running another OS in its Emulator! After you've become somewhat familiar with Bochs, our next page will show you how to set up, start and run debug sessions to learn how a computer's Master Boot Record or other IPLs (Initial Program Loaders) function step by step!
Revised: March 28, 2012 (28.03.12).
Updated: May 2, 2012 (02.05.2012); May 10, 2012 (10.05.2012); May 19, 2012 (19.05.2012); July 21, 2013 (21.07.2013).
Last Update:July 28, 2013 (28.07.2013).
Bochs Drivers
You can write to me using this: online reply form. (It opens in a new window.)
The Starman's x86 ASSEMBLY Pages
The Starman's Realm Index Page