Kevin Lawton
Bryce Denney
N. David Guarneri
Volker Ruppert
Christophe Bothamy
Edited by
Michael Calabrese
Stanislav Shwartsman
- Table of Contents
 - 1. Introduction to Bochs
 - 1.1. What is Bochs?
 - 1.2. Who uses Bochs?
 - 1.3. Is Bochs right for me?
 - 1.4. Will it work for me?
 - 1.5. Bochs License
 - 1.6. Third Party Software Licensing and Temporary Files
 - 1.7. Features
 - 1.8. Supported Platforms
 - 1.9. FAQ
 
- 2. Release Notes
 - 3. Installation
 - 3.1. Downloading Bochs
 - 3.2. Tracking the source code with CVS
 - 3.2.1. Checking out Bochs
 - 3.2.2. Getting the Latest Version
 - 3.2.3. Getting a Release Version
 - 3.2.4. More about CVS
 
- 3.3. Installing a Binary
 - 3.3.1. Windows
 - 3.3.2. Linux RPM
 - 3.3.3. MacOS X DMG
 
- 3.4. Compiling Bochs
 - 3.4.1. Standard Compile
 - 3.4.2. Configure Options
 - 3.4.3. Transcript of Successful Compilation
 - 3.4.4. Compiling on Win32 with Microsoft VC++
 - 3.4.5. Compiling on Win32 with Cygwin
 - 3.4.6. Compiling on MacOS 9 with CodeWarrior
 - 3.4.7. Compiling on MacOS X
 - 3.4.8. Compiling on BeOS
 - 3.4.9. Compiling on Amiga/MorphOS
 - 3.4.10. Compiling with the RFB interface
 - 3.4.11. Compiling with the SDL interface
 - 3.4.12. Compiling with the wxWidgets interface
 - 3.4.13. Building an RPM on Linux
 - 3.4.14. Compile Problems
 
- 4. Setup
 - 4.1. What does Bochs need?
 - 4.2. bochsrc
 - 4.2.1. megs
 - 4.2.2. cpu
 - 4.2.3. romimage
 - 4.2.4. optromimage1, optromimage2, optromimage3 or optromimage4
 - 4.2.5. vgaromimage
 - 4.2.6. vga
 - 4.2.7. floppya/floppyb
 - 4.2.8. ata0, ata1, ata2, ata3
 - 4.2.9. ata0-master, ata0-slave, ata1-*, ata2-*, ata3-*
 - 4.2.10. boot
 - 4.2.11. floppy_bootsig_check
 - 4.2.12. config_interface
 - 4.2.13. display_library
 - 4.2.14. log
 - 4.2.15. logprefix
 - 4.2.16. debug/info/error/panic
 - 4.2.17. debugger_log
 - 4.2.18. com[1-4]
 - 4.2.19. parport[1-2]
 - 4.2.20. sb16
 - 4.2.21. vga_update_interval
 - 4.2.22. keyboard_serial_delay
 - 4.2.23. keyboard_paste_delay
 - 4.2.24. ips
 - 4.2.25. clock
 - 4.2.26. mouse
 - 4.2.27. private_colormap
 - 4.2.28. i440fxsupport
 - 4.2.29. pcidev
 - 4.2.30. usb1
 - 4.2.31. gdbstub
 - 4.2.32. ne2k
 - 4.2.33. keyboard_mapping
 - 4.2.34. keyboard_type
 - 4.2.35. user_shortcut
 - 4.2.36. cmosimage
 - 4.2.37. magic_break
 
- 4.3. Sound Blaster 16 Emulation
 - 4.3.1. How well does it work?
 - 4.3.2. Output to a sound card
 - 4.3.3. Installation on Linux
 - 4.3.4. Features planned for the future
 - 4.3.5. Description of the sound output classes
 
- 4.4. How to write your own keymap table
 
- 5. Using Bochs
 - 5.1. Command line arguments
 - 5.2. Search order for the configuration file
 - 5.3. The configuration interface 'textconfig'
 - 5.3.1. The start menu
 - 5.3.2. The Bochs headerbar
 - 5.3.3. The runtime configuration
 
- 5.4. Save and restore simulation
 
- 6. Common problems and what to do about them (Troubleshooting)
 - 6.1. Bochs panics! What can I do?
 - 6.2. Mouse behavior, enabling and disabling
 - 6.3. Text-mode is broken in some ancient DOS program
 
- 7. Mailing Lists
 - 7.1. bochs-developers mailing list
 - 7.2. bochs-announce mailing list
 - 7.3. bochs-cvs mailing list
 - 7.4. Mailing List Etiquette
 
- 8. Tips and Techniques
 - 8.1. How to make a simple disk image
 - 8.1.1. Create a flat image
 - 8.1.2. Partition and format your image file
 
- 8.2. Use mtools to manipulate disk images
 - 8.3. Bochs GNU/Linux DiskTools
 - 8.4. Win32 only: Tools to manipulate disk images
 - 8.4.1. Winimage
 - 8.4.2. DiskExplorer
 - 8.4.3. Ben Lunt's MTOOLs for Bochs and Win32 and/or DOS
 
- 8.5. X Windows: Color allocation problems
 - 8.6. Screen saver turns on too quickly
 - 8.7. Mounting a disk image using the loop device
 - 8.7.1. ...on Linux
 - 8.7.2. ...on FreeBSD
 
- 8.8. Simulating a Symmetric Multiprocessor (SMP) Machine
 - 8.9. Setting Up Networking in DLX Linux
 - 8.10. Configuring and using a tuntap network interface
 - 8.10.1. Tuntap description
 - 8.10.2. Set up the linux Kernel
        
 - 8.10.3. Configure Bochs to use the tuntap interface
 - 8.10.4. Set up the private network between the host and the guest
 - 8.10.5. Set up the host to masquerade the guest network accesses
 
- 8.11. Using Bochs internal debugger
 - 8.11.1. Execution Control
 - 8.11.2. BreakPoints
 - 8.11.3. Manipulating Memory
 - 8.11.4. Info commands
 - 8.11.5. Manipulating CPU Registers
 - 8.11.6. Disassembly commands
 - 8.11.7. Instruction tracing
 - 8.11.8. Instrumentation
 - 8.11.9. Instrumentation commands
 - 8.11.10. Other Commands
 - 8.11.11. Related links
 
- 8.12. Using Bochs and the remote GDB stub
 - 8.12.1. Configuring Bochs
 - 8.12.2. Running Bochs
 - 8.12.3. Running GDB
 
- 8.13. Using the serial port
 - 8.13.1. Logging serial port output to a file
 - 8.13.2. Interactivity : connecting to a virtual terminal
 - 8.13.3. Interactivity : connecting to a pseudo terminal
 
- 8.14. BIOS Tips
 - 8.14.1. Booting from CD-ROMs
 - 8.14.2. Disk translation
 
- 8.15. How to enter special key combination
 - 8.16. Notes about VESA usage
 - 8.16.1. Instructions to setup Bochs VBE in Windows Guest OS
 
- 8.17. Notes about Cirrus SVGA usage
 - 8.18. Disk Image Modes
 - 8.18.1. flat
 - 8.18.2. concat
 - 8.18.3. external/dll
 - 8.18.4. sparse
 - 8.18.5. vmware3/vmware4
 - 8.18.6. undoable
 - 8.18.7. growing
 - 8.18.8. volatile
 
- 8.19. Using the bximage tool
 - 8.20. Using the bxcommit tool
 
- 9. Guest operating systems
 - 9.1. Linux
 - 9.2. Knoppix
 - 9.2.1. Getting Knoppix
 - 9.2.2. Preparing Bochs
 - 9.2.3. Using Knoppix
 
- 9.3. Minix
 - 9.4. OpenBSD
 - 9.5. FreeBSD 5.2.1
 - 9.5.1. Getting FreeBSD
 - 9.5.2. Preparing Bochs
 - 9.5.3. Installing FreeBSD
 - 9.5.4. Post-installation configuration
 - 9.5.5. Using FreeBSD
 
- 9.6. FreeDOS Beta 8
 - 9.7. GNU (Also known as GNU/Hurd)
 - 9.7.1. Installing GNU
 
- 9.8. DOS
 - 9.8.1. Accessing your CDROM
 - 9.8.2. SB16 driver for DOS
 - 9.8.3. Bootdisks of early DOS versions
 
- 9.9. Windows 95
 - 9.9.1. How to Install Windows 95 with floppies
 - 9.9.2. Installing a Japanese version of Windows 95
 
- 9.10. Windows NT 4.0
 - 9.11. Windows 98
 - 9.11.1. Windows 98 Method 1: mcopy Windows 98 into Hard Disk Image (Linux Host)
 - 9.11.2. Locating Your Partitions
 - 9.11.3. Cleaning Up Your MS Windows Partition
 - 9.11.4. Mounting Your Windows Partition
 - 9.11.5. Choosing the Size of Your Disk Image
 - 9.11.6. Setting Up the Disk Image
 - 9.11.7. Create the .bochsrc Configuration File
 - 9.11.8. Make Hard Disk Image Acessible by Mtools
 - 9.11.9. Format Partition and Copy Files
 - 9.11.10. The Fun Begins
 - 9.11.11. Windows 98 Method 2: Classic Install (Linux Host)
 - 9.11.12. Saving Your Windows 98 CD as a Disk
Image
 - 9.11.13. Making the Windows 98 Hard Disk Image
 - 9.11.14. Create the .bochsrc Configuration File
 - 9.11.15. Create the Primary DOS Partition and set it Active
 - 9.11.16. Formatting the Disk Image
 - 9.11.17. Starting the Installation
 
- 9.12. Windows ME
 - 9.12.1. Installing Windows ME
 
- 9.13. Windows 2000
 - 9.14. Windows 2000 Server
 - 9.15. Windows XP
 - 9.16. SCO OpenServer 5.0.5