cd /path/parent-directory gzip -dc bochs-YYMMDD.tar.gz | tar -xvf - cd bochs-YYMMDDBefore compiling, you'll need to run the configure script, which will configure source code to run on your system, and with your chosen options. There are a few options to 'configure', and you probably don't need any of them. If you run BeOS, specify '--with-beos' to configure. To see a complete list:
unix-> ./configure --helpOptions to 'configure':
--enable-cpp use .cpp as C++ suffix --enable-debugger compile in support for Bochs internal debugger --enable-loader support calling external loader from debugger --enable-disasm compile in support for disassembler --enable-instrumentation compile in support for instrumentation --with-x11 use X11 GUI --with-beos use BeOS GUI --with-win32-vcpp use Win32 GUI/Visual C++ 5.0 environment --with-nogui no native GUI, just use blank stubs Typically, you don't need to specify anything except GUI related options.Set your CC & CFLAGS environment flags for your compiler and optimization flags. For example, on a SuperSparc with GCC: (CSH)
unix-> setenv CC gcc unix-> setenv CFLAGS "-Wall -O3 -mv8 -msupersparc -mno-epilogue"...or on an x86 with Linux and GCC: (CSH)
unix-> setenv CC gcc unix-> setenv CFLAGS "-Wall -O3 -m486 -fomit-frame-pointer -pipe"Now run the configure script with any necessary options. For example, for Win'95, use the following.
unix-> ./configure
Alternatively, you can type 'ls .conf.*', and see if there's a script file which corresponds to your platform. I run these little scripts to speed up setting the compiler flags and running ./configure. Don't bother passing '--enable-debugger', though.
If the configure script bombs, check 'config.log'. Specifically, look for errors returned by the compiler. You may have options incompatible with your compiler. See the section on setting the CC & CFLAGS above.
Assuming at this point all went well with the configure command, edit the file 'config.h', which was generated by ./configure. Look for the USER CONFIGURABLE OPTIONS section. Each parameter available for editing is documented. Please read about each parameter and edit carefully. NOTE: This file is generated, and will be deleted if you run 'make dist-clean'.
You may now compile the source.
unix-> make
There are two options; you may install the VGA font in a global place, or in a local directory. You may need to install it locally if you don't have root access.
Option 1: installing VGA font in global font directory
# NOTE1: Make sure your DISPLAY variable points to local machine. # NOTE2: These steps require root privileges. # NOTE3: Your X11 fonts path will vary on different systems. For example: # Solaris 2.x /usr/openwin/lib/X11/fonts # Linux /usr/lib/X11/fonts/ root-> cp font/vga.pcf font-path-here/misc root-> compress font-path-here/vga.pcf root-> mkfontdir font-path-here/misc root-> xset fp rehashOption 2: installing VGA font in local font directory
# NOTE1: Make sure your DISPLAY variable points to local machine. # NOTE2: The "xset" command needs to be run for each X session. user-> mkfontdir bochs-YYMMDD/font user-> xset fp+ [full-path]/bochs-YYMMDD/fontHard Drive Image File: Bochs emulates a hard drive by using a large Unix file, which you must create. The size of the hard drive is dependent upon the number of cylinders, heads, and sectors-per-track that you would like to emulate. Here are some examples of possible drive geometries:
Size | Cylinders | Heads | Sectors/Track | Sectors Total |
---|---|---|---|---|
10MB | 306 | 4 | 17 | 20808 |
20MB | 615 | 4 | 17 | 41820 |
30MB | 615 | 6 | 17 | 62730 |
46MB | 940 | 6 | 17 | 95880 |
62MB | 940 | 8 | 17 | 127840 |
112MB | 900 | 15 | 17 | 229500 |
126MB | 256 | 16 | 63 | 258048 |
483MB | 1024 | 15 | 63 | 967680 |
504MB | 1024 | 16 | 63 | 1032192 |
unix-> dd if=/dev/zero of=112M bs=512 count=229500Floppy Disk Image File: Bochs emulates a floppy drive/disk using either a Unix file, or a real floppy drive Unix device. To use either, you will need an entry in your '.bochsrc' file pointing to the regular or device file. Use the 'floppya:' and 'floppyb:' directives. If you are starting out, you will need to make a copy of an existing bootable floppy. Otherwise, you may create a blank image file, if you intend on formatting it using the OS you boot within Bochs.
Size | Cylinders | Heads | Sectors/Track | Sectors Total |
---|---|---|---|---|
0.720MB | 80 | 2 | 9 | 1440 |
1.2MB | 80 | 2 | 15 | 2400 |
1.44MB | 80 | 2 | 18 | 2880 |
1.680MB | 80 | 2 | 21 | 3360 |
unix-> dd if=/dev/zero of=1.44M bs=512 count=2880To create a copy of an existing floppy disk, granted you have a floppy disk drive on your workstation, you can use one of the following commands, where '/dev/fd0' would be the path to your floppy drive device name.
NOTE: If your system uses a form of volume management to automount your floppy drive, you may have to tell it you popped in a new floppy, and use an alternative device name to access it.
# Linux, direct use of floppy drive using 'dd' unix-> dd if=/dev/fd0 ibs=512 of=1.44M --or-- # Linux, direct use of floppy drive using 'cp' unix-> cp /dev/fd0 1.44M --or-- # With Volume Management handling floppy drive Solaris 2.x-> volcheck Solaris 2.x-> dd if=/vol/dev/aliases/floppy0 ibs=512 of=1.44M
Search Order:
bochs boot:c bochs "boot: c" "diskc: file=../10M.vga, cyl=306, heads=4, spt=17" bochs romimage:/tmp/someimageNote: Look in the reference ".bochsrc" for syntax
NOTE: your backspace key may not work properly. You may have to source the file 'misc/xmods' in the main distribution directory. I need to look at this problem a little more. Using Ctrl-h always seems to work for me.