- added instructions how to update the online documentation
[bochs-mirror.git] / doc / docbook / misc.txt
bloba4a831888c1646b715bd3ffe3502803a3692ae58
1 $Id: misc.txt,v 1.33 2008/02/05 22:33:34 sshwarts Exp $
3 This is a temporary place to paste in stuff that should go into the docs one
4 day.  When it is transferred into docbook, let's remove it from misc.txt.
6 --------------------------------------------------------------------------
7 --------------------------------------------------------------------------
8 --------------------------------------------------------------------------
9 --------------------------------------------------------------------------
10 Date: Thu, 15 Nov 2001 13:31:34 -0800
11 From: David Christy <davidc@davidc.biz>
12 To: bryce@tlw.com
13 Subject: usefull info for mounting
16 I didn't see this in the doc's so I thought you might like a
17 short description of how to mount a disk image file into
18 loopback filesystem for maintenance purposes.
20 --------------------------------------------
22 1) First run
24 fdisk -l <image_name>
26 ... and it should print out a partition table (with a few
27 complaints requesting the drive geometry, and I don't know
28 if older versions require a block device) In fact fdisk will
29 even work to modify partitions in an image, but you must
30 specify the drive geometry that's in the bocsrc first.
32 2) Whatever it says the starting partition is, subtract 1
33 and multiply by 512
35 3) Type
37 mount -o loop,offset=<insert number here> <image_name>
38 /mount/dir
40 or if it's just a floppy image, just
42 mount -o loop floppy.img /mount/dir
44 ---------------------------------------------------
46 I would recommend putting -o ro for read only access if
47 bochs is in use.  For unusual filesystems you may need to
48 add a -t <fstype> flag to the mount command to specify the
49 filesystem type.
51 see man mount, losetup, and fdisk for more info
55 BOCHS Rocks!!!
59 -------------macintosh.txt-----------------
60 BBD Mon Nov 25 08:23:28 EST 2002
61 This file has been in our main directory for years and years, and has not
62 been updated since nobody has tried to compile for MacOS pre-10 in a long
63 time.  I didn't want to leave it sitting there since it is so incredibly
64 obsolete.  I think it would be good to put it into the documentation
65 with proper warnings about the fact that it hasn't been updated in 4 years
66 and may need significant hacking to make it work again.
67 ------------------
69 Changes by Bryce Denney 4/5/2001:
70 I moved the contents of macutils.h into osdep.h, and macutils.c
71 into osdep.cc.  There are functions missing on other platforms too,
72 so I wanted to bring them all into the same place.
74 The original macintosh.txt follows.
76 STATUS OF THE MAC PORT:
77 -----------------------
79 23 Dec 1998
81 Contents:
83         Status
84         How to Set up MacBochs
85         Problems
86         Other Issues
87         New Files
88         Changed Files
91 Status
92 ------
94 This is an experimental Macintosh port of Bochs. The Mac port compiles fine
95 under CodeWarrior Pro R1 (CW12) and is capable of booting Win95 in command-
96 line mode and running DOS programs. A CodeWarrior project ("Bochs.proj") is
97 included (you may need to edit the type and creator information with ResEdit
98 in order for CodeWarrior to recognise it as a project file).
100 NOTE: MacBochs is very much a "work in progress", and much of the code is
101 incomplete. This preliminary version is being made available mainly to
102 interested developers who may want to contribute to the development of
103 MacBochs by contributing some code or testing it on their own Macs.
105 If anyone can test with some "clean" Windows installer disks, it would be
106 useful. I've been testing MacBochs with my SoftWindows HD image and disk
107 images derived from it, and I'm not sure if the various SoftWindows-specific
108 drivers are interfering.
110 23 Dec 98 - updated MacBochs to bochs-981222. The new version seems
111 noticeably faster. Finished implementing the Bochs headerbar. Added support
112 for ejecting floppy disks from within Bochs (click the Drive A: icon on the
113 headerbar or press Cmd-E).
115 17 Dec 98 - added real floppy disk support. Also optimized the graphics
116 screen drawing a bit more. Keyboard support still broken and in need of a
117 major overhaul. Does anyone have experience with KCHR resources and
118 KeyTranslate()?
121 How to Set up MacBochs
122 ----------------------
124 This is a very brief, step-by-step guide on setting up MacBochs. More
125 detailed documentation will be available later.
127 - Step 1. Compile the version of Bochs you want to use (PPC, 68k or FAT) or
128 obtain a pre-compiled binary. There is a CodeWarrior project included with
129 the source distribution.
131 - Step 2. Create a hard disk image.
132 Bochs ALWAYS needs a hard disk image available to it, otherwise it won't
133 boot. To create a hard disk image on the Mac, you need to use a recent
134 version of DiskCopy.
136 First, create an untitled, empty folder anywhere on your Mac hard disk. Then,
137 launch DiskCopy and choose to create a folder image of that folder.
139 DO NOT ENTER THE DISK SIZE IN MEGABYTES. In the file "install.html" in the
140 "docs-html" folder you will find a table of disk sizes and geometries. Make a
141 note of the number of total SECTORS required for your desired hard disk size,
142 as well as the cylinders, heads and sectors per track (spt).
144 In DiskCopy, you need to choose "Custom..." from the menu of image sizes, and
145 choose to enter the size in "blocks" (on the Mac, a block is pretty much the
146 same as a sector). Then enter the number of total sectors you need.
148 Make sure the image is "Read/Write", not "Read Only", and make sure you have
149 entered the correct cyl=, heads= and spt= settings in your bochsrc file. Your
150 image file should now be accessible to Bochs.
152 You'll eventually need to use a utility like "fdisk" to make the image
153 readable.
155 - Step 3. Obtain a bootable PC floppy or floppy image.
156 You'll need to install an operating system in order to do anything useful
157 with Bochs. If you have installer floppies for a PC operating system (eg.
158 Windows or MS-DOS) you can use those. Otherwise you can download disk images
159 for FreeDOS or one of the many variants of Linux.
161 MacBochs now supports real PC floppy disks. To use the Mac floppy drive
162 instead of a disk image, use the special filename "[fd:]" in the appropriate
163 line of your bochsrc.
165 - Step 4. Set up your bochsrc file.
166 You set up your Bochs preferences by editing the "bochsrc" file. You'll need
167 to set up your bochsrc to work with your floppy and hard disk images, as well
168 as telling Bochs how many megs of PC RAM you want.
170 Problems
171 --------
173 There are some so far unresolved problems in the "macintosh.cc" GUI file:
175 - Keyboard support is VERY rudimentary; ie. it only supports alphanumerics
176 and a couple of special keys like Enter. The keyboard-related code is full of
177 holes and I'm going to completely rehash it.
179 - Mouse support hasn't been tested, but probably isn't fully working either.
182 Other Issues
183 ------------
185 - The Mac port uses a ready-made config file (configmac.h), like the Win32
186 port used to. Macs are pretty homogeneous, so the settings should be
187 appropriate for most machines.
189 - The Mac port has an extra source file: "macutils.c" (with header file
190 "macutils.h"), which is used for Mac floppy drive support, among other
191 things.
193 - Like the Win32 port, the Mac port expects the "bochsrc" file to be in the
194 same directory as the Bochs application.
196 - Be sure to use Mac pathname conventions when editing the bochsrc file (ie
197 ':' instead of '/' or '\').
200 New files
201 ---------
203 The following are new, Mac-specific files:
205 gui/macintosh.cc
206 configmac.h
207 macutils.h
208 macutils.c
209 Bochs.proj
212 Changed Files
213 -------------
215 The following files from the main bochs distribution have been modified to
216 compile properly on the Mac:
218 bochs.h
219 main.cc
220 memory/memory.cc
221 memory/misc_mem.cc
222 iodev/floppy.cc
223 iodev/harddrv.cc
225 The changes are just conditional compilations which won't affect other
226 platforms (search for "#ifdef macintosh" and "#ifndef macintosh" if you want
227 to see what the changes are). These changes will need to be integrated into
228 the main distribution if the MacOS port is going to go ahead seriously.
230 -- David Batterham <drbatter@socs.uts.edu.au> or <drbatter@yahoo.com>
232 --------------------win32.txt----------------------
233 BBD Mon Nov 25 08:27:24 EST 2002
234 The win32 build instructions are out of date too.  The --with-win32-vcpp
235 has been deprecated since at least March 2002.  More current instructions
236 are already in the docs, so this info may not be of much use.
238 Building Bochs for Win32
239 ------------------------
241 This has only been tested with MS Visual C++ 6.0.
243 The normal build process on a unix system is to run configure to build all the
244 makefiles and config.h, and then run make to compile Bochs.  Configure takes a
245 large number of command line arguments, for example to disable floating point
246 or to enable sound blaster emulation.  Configure works beautifully on unix
247 systems to help make the code portable, however it cannot run on Windows.
248 (Maybe, if you have cygwin.)  Therefore, you need to either 1) run configure
249 on a unix box and copy the makefiles and config.h, or 2) download the
250 makefiles which are distributed in a separate ZIP file.
252 If you want to run configure yourself, consider using the shell script
253 ".conf.win32-vcpp" since it has been tested.  Look at it to make sure
254 the options make sense for you.  You can always run configure by hand too,
255 just be sure to include the option --with-win32-vcpp so that it creates
256 makefiles for win32.  Copy config.h, Makefile, and the Makefiles in all
257 subdirectories over to your windows box into the same directory as the Bochs
258 source.
260 If you download the makefiles in a ZIP, just extract them into the
261 same directory as the Bochs source.  The config.h and top level Makefile
262 should end up in the same directory as Bochs.h.
264 Once the makefiles are installed, building Bochs is easy.  Start up an MSDOS
265 window, run the .BAT file that sets up the environment variables
266 (C:\vc98\bin\vcvars32.bat on my system), and then run NMAKE in the Bochs
267 source directory.  You will get lots of compile warnings, but hopefully no
268 fatal errors!  At the end, you should see Bochs.exe in the source directory.
273 <!-- *************************************************************** -->
275 Wed Dec 11 13:56:20 EST 2002
276 this text came from build/linux/DOC-linux.html.
277 Originally it was an intro to Bochs for Linux users.  I converted it all to
278 docbook.  I moved most of the info from DOC-linux.html into different
279 sections of the user guide, and the rest I put here in misc.txt.  Maybe these
280 paragraphs will be useful in some kind of introduction to something, or maybe
281 not.
283 <section><title>Quick Start for Linux users</title>
284 <!--much text removed, put into user guide -->
286 <para>
287 This file is an introduction to Bochs for Linux users.  It assumes that you
288 have just installed a Bochs binary distribution, and now you want to see what
289 Bochs can do!
290 </para>
292 <section><title>How can I try out Bochs in 10 minutes or less?</title>
293 <para>
294 This RPM package includes a sample disk image containing DLX Linux, which you
295 can boot within Bochs.  To start up DLX linux, just type "bochs-dlx" in an
296 xterm.  The first time it runs, it creates a disk image in a directory
297 called <filename>$HOME/.bochsdlx</filename>.  Then it creates a Bochs Display
298 window and prints some log messages into the xterm.  The display window is the
299 most interesting, but if something goes wrong the log messages should give an
300 idea of what has happened.
301 </para>
302 <para>
303 Meanwhile, the Bochs display screen should look like a PC booting...and in
304 fact it is!  Bochs begins simulating a PC from the time the power turns on.
305 You will see the VGA BIOS message, and it begins loading Linux from the disk
306 image.  The disk image is just a big file that Bochs uses as if it were a
307 real hard drive.  After a while, you see Linux boot messages and eventually a
308 login prompt.  You are now running DLX Linux in a window!
309 </para>
310 <para>
311 Bochs simulates every instruction of an x86 CPU, so it is very memory- and
312 compute-intensive.  The speed of your real CPU will make a big difference in
313 how fast the DLX Linux image boots.  On a 1GHz Pentium, the sample Linux
314 image takes about 10 seconds to boot.
315 </para>
317 <para>
318 In this brief introduction you saw how Bochs can boot and run an x86 operating
319 system in a window.  It doesn't have to be Linux, of course!  Various people
320 have been able to install and run DOS, Windows 3.1, Windows 95/98/ME/NT/XP,
321 Linux, FreeBSD, NetBSD, OpenBSD, and probably others that we've never even
322 heard of.  In fact Bochs is used by many operating system developers to test
323 out their software in a controlled environment without having to reboot their
324 development machine.
325 </para>
327 <para>
328 If you are learning about Bochs for the first time, you might want to
329 download a few other prebuilt disk images of other operating systems from the
330 Bochs website.  They range from very small (1.44 meg floppy disk images) to
331 hundreds of megabytes.  Most disk images on the web site come with a
332 working configuration file (often called bochsrc.txt) so they should work
333 without much effort.  This will give you an idea of what Bochs can do,
334 and how it might be useful to you.
335 </para>
337 </section>
339 ------------------------------------------
340 Windows 3.1 install hints
342 Date: Fri, 13 Dec 2002 09:56:48 -0700
343 From: Ben Lunt <fys@cybertrails.com>
344 To: bochs-devel <bochs-developers@lists.sourceforge.net>
346 I was playing with bochs a bit last night and successfully
347 got windows 3.1 installed on a c.img file and run with
348 almost no errors.
350 I first started with three original DOS 5.0 720k images,
351 FDISKed, FORMATed, and then install.
353 Then changed to seven 1_44m disks and installed Win16.
354 Each time either OS asked for a new disk, I simply
355 copied the expected image to a.img and continued.
358 ------------------------------------------
359 WinNT4 guest network problems
361 From: Jeremy Wilkins <jeb at jeremywilkins.freeserve.co.uk>
362 To: bochs-developers@lists.sourceforge.net
363 Subject: [Bochs-developers] Odd network errors with NT4 Guest OS
365 I'm having trouble transferring files over the network to the guest OS
366 (NT4 SP1). If I'm using SMB then the it errors out early on with a
367 session cancelled. The file is 36Mb (SP6). I've tried with various file
368 sizes, 3Meg files work, 5 meg files do not.
370 I've also tried shuffling the files over http with similar problems,
371 small files are fine (can browse websites) but large files just error out.
373 The system is a 1Ghz Windows XP SP1 box with bochs 2.02, guest OS is
374 allocated 64Mb of RAM and running Windows NT4 SP1.
376 Any clues, anyone experiencing similar problems?
380 From: didier <dgautheron at magic.fr>
381 To: Jeremy Wilkins <jeb at jeremywilkins.freeserve.co.uk>
382 Cc: bochs-developers@lists.sourceforge.net
383 Subject: Re: [Bochs-developers] Odd network errors with NT4 Guest OS
385 Did you try with a big IPS? start the guest clock applet and try to get
386 a more or less accurate time, with 1 Ghz should be in the 50 000 000 range.
387 IIRC NT timeout and abort before it send the whole packet.
391 From: Jeremy Wilkins <jeb at jeremywilkins.freeserve.co.uk>
392 To: didier <dgautheron at magic.fr>, bochs-developers@lists.sourceforge.net
393 Subject: Re: [Bochs-developers] Odd network errors with NT4 Guest OS
395 Thanks, 60 000 000 seems to have done the trick (I can copy sp6 across
396 anyway). My original guess of 4000000 IPS was probably a bit low :)
398 thanks again
400 ------------------------------------------
401 TAP under FreeBSD
403 Date: Fri, 14 Feb 2003 02:12:38 +0100
404 From: Ronald Klop <ronald at echteman.nl>
405 To: bochs-developers at lists.sourceforge.net
407 I've made eth_tap.cc working under FreeBSD 4.7, because the fbsd network driver
408 didn't work for me.
409 It's not a very clean patch, but the changes are minimal.
411 Some notes:
412 - I found that some of the includes aren't used at all (on FreeBSD).
413 - The socket which is created before /dev/tap0 is opened doesn't work, because
414 tap0 is created after opening the device.
415 - Maybe the eth_tap device can use a configure script like the eth_tuntap
416 device, because the device must be configured after opening.
417 - The padding of the ethernet frame with 2 bytes isn't needed in FreeBSD.
418 - I didn't do any work to check for this in configure, because I don't know how
419 configure works and don't have the time work it out now.
420 - the guest os must set (maybe this can be documented somewhere):
421 kldload if_tap (if tap is not compiled in the kernel)
422 ifconfig tap0 inet 10.0.1.1 netmask 255.255.255.0
423 sysctl net.inet.ip.forwarding=1
424 sysctl net.link.ether.inet.proxyall=1