- removed support for deprecated options diskc, diskd, cdromd and newharddrivesupport

- updated docs after removing options
- some other bochsrc option updates in user.dbk and bochsrc manpage
This commit is contained in:
Volker Ruppert 2005-01-08 19:55:55 +00:00
parent ebde27f2ab
commit ccde06a25d
4 changed files with 134 additions and 382 deletions

View File

@ -695,61 +695,6 @@ keyboard_mapping: enabled=0, map=
#
#=======================================================================
#=======================================================================
#
# The DISKC option is deprecated. Use ATA* options instead.
#
# DISKC: file=, cyl=, heads=, spt=
# Point this at a hard disk image file. To create
# a hard disk image, try running bximage. It will help you choose the
# size and then suggest a diskc line that works with it.
#
# In UNIX it may be possible to use a raw device as a Bochs hard disk,
# but WE DON'T RECOMMEND IT. In Windows there is no easy way.
#
# Examples:
# diskc: file=10M.sample, cyl=306, heads=4, spt=17
# diskc: file=20M.sample, cyl=615, heads=4, spt=17
# diskc: file=30M.sample, cyl=615, heads=6, spt=17
# diskc: file=46M.sample, cyl=940, heads=6, spt=17
# diskc: file=62M.sample, cyl=940, heads=8, spt=17
# diskc: file=112M.sample, cyl=900, heads=15, spt=17
# diskc: file=483M.sample, cyl=1024, heads=15, spt=63
#=======================================================================
#diskc: file="30M.sample", cyl=615, heads=6, spt=17
#=======================================================================
#
# The DISKD option is deprecated. Use ATA* options instead.
#
# DISKD:
# See DISKC above for syntax
#
# NOTE: diskd and cdromd must not be used together!
#=======================================================================
#diskd: file="diskd.img", cyl=615, heads=6, spt=17
#=======================================================================
#
# The CDROMD option is deprecated. Use ATA* options instead.
#
# CDROMD:
#
# cdromd: dev=/dev/cdrom, status=inserted
# cdromd: dev=/dev/cdrom, status=ejected
# cdromd: dev=e:, status=ejected
#
# In windows, the drive letter + colon notation should be used for cdroms.
# Depending on versions of windows and drivers, you may only be able to
# access the "first" cdrom in the system. On MacOSX, use path="drive"
# to access the physical drive.
#
# NOTE: diskd and cdromd must not be used together!
#=======================================================================
#cdromd: dev=D:, status=inserted
#cdromd: dev=/dev/cdrom, status=inserted
#cdromd: dev="drive", status=inserted
#=======================================================================
#
# The TIME0 directive is DEPRECATED. Use the CLOCK directive instead
@ -782,10 +727,3 @@ keyboard_mapping: enabled=0, map=
#=======================================================================
#pit: realtime=1
#=======================================================================
# NEWHARDDRIVESUPPORT: enabled=[0|1]
# The old harddrive code is not maintened any more.
# Default value is enabled=1
#=======================================================================
#newharddrivesupport: enabled=1

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: config.cc,v 1.27 2004-12-30 14:50:36 vruppert Exp $
// $Id: config.cc,v 1.28 2005-01-08 19:55:54 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -2381,14 +2381,6 @@ parse_line_formatted(char *context, int num_params, char *params[])
slave = 1;
}
// This was originally meant to warn users about both diskc
// and ata0-master defined, but it also prevent users to
// override settings on the command line
// (see [ 661010 ] cannot override ata-settings from cmdline)
// if (bx_options.atadevice[channel][slave].Opresent->get()) {
// BX_INFO(("%s: %s device of ata channel %d already defined.", context, slave?"slave":"master",channel));
// }
for (i=1; i<num_params; i++) {
if (!strcmp(params[i], "type=disk")) {
bx_options.atadevice[channel][slave].Otype->set (BX_ATA_DEVICE_DISK);
@ -2513,75 +2505,6 @@ parse_line_formatted(char *context, int num_params, char *params[])
}
}
// Legacy disk options emulation
else if (!strcmp(params[0], "diskc")) { // DEPRECATED
BX_INFO(("WARNING: diskc directive is deprecated, use ata0-master: instead"));
if (bx_options.atadevice[0][0].Opresent->get()) {
PARSE_ERR(("%s: master device of ata channel 0 already defined.", context));
}
if (num_params != 5) {
PARSE_ERR(("%s: diskc directive malformed.", context));
}
if (strncmp(params[1], "file=", 5) ||
strncmp(params[2], "cyl=", 4) ||
strncmp(params[3], "heads=", 6) ||
strncmp(params[4], "spt=", 4)) {
PARSE_ERR(("%s: diskc directive malformed.", context));
}
bx_options.ata[0].Opresent->set(1);
bx_options.atadevice[0][0].Otype->set (BX_ATA_DEVICE_DISK);
bx_options.atadevice[0][0].Opath->set (&params[1][5]);
bx_options.atadevice[0][0].Ocylinders->set (atol(&params[2][4]));
bx_options.atadevice[0][0].Oheads->set (atol(&params[3][6]));
bx_options.atadevice[0][0].Ospt->set (atol(&params[4][4]));
bx_options.atadevice[0][0].Opresent->set (1);
}
else if (!strcmp(params[0], "diskd")) { // DEPRECATED
BX_INFO(("WARNING: diskd directive is deprecated, use ata0-slave: instead"));
if (bx_options.atadevice[0][1].Opresent->get()) {
PARSE_ERR(("%s: slave device of ata channel 0 already defined.", context));
}
if (num_params != 5) {
PARSE_ERR(("%s: diskd directive malformed.", context));
}
if (strncmp(params[1], "file=", 5) ||
strncmp(params[2], "cyl=", 4) ||
strncmp(params[3], "heads=", 6) ||
strncmp(params[4], "spt=", 4)) {
PARSE_ERR(("%s: diskd directive malformed.", context));
}
bx_options.ata[0].Opresent->set(1);
bx_options.atadevice[0][1].Otype->set (BX_ATA_DEVICE_DISK);
bx_options.atadevice[0][1].Opath->set (&params[1][5]);
bx_options.atadevice[0][1].Ocylinders->set (atol( &params[2][4]));
bx_options.atadevice[0][1].Oheads->set (atol( &params[3][6]));
bx_options.atadevice[0][1].Ospt->set (atol( &params[4][4]));
bx_options.atadevice[0][1].Opresent->set (1);
}
else if (!strcmp(params[0], "cdromd")) { // DEPRECATED
BX_INFO(("WARNING: cdromd directive is deprecated, use ata0-slave: instead"));
if (bx_options.atadevice[0][1].Opresent->get()) {
PARSE_ERR(("%s: slave device of ata channel 0 already defined.", context));
}
if (num_params != 3) {
PARSE_ERR(("%s: cdromd directive malformed.", context));
}
if (strncmp(params[1], "dev=", 4) || strncmp(params[2], "status=", 7)) {
PARSE_ERR(("%s: cdromd directive malformed.", context));
}
bx_options.ata[0].Opresent->set(1);
bx_options.atadevice[0][1].Otype->set (BX_ATA_DEVICE_CDROM);
bx_options.atadevice[0][1].Opath->set (&params[1][4]);
if (!strcmp(params[2], "status=inserted"))
bx_options.atadevice[0][1].Ostatus->set (BX_INSERTED);
else if (!strcmp(params[2], "status=ejected"))
bx_options.atadevice[0][1].Ostatus->set (BX_EJECTED);
else {
PARSE_ERR(("%s: cdromd directive malformed.", context));
}
bx_options.atadevice[0][1].Opresent->set (1);
}
else if (!strcmp(params[0], "boot")) {
if (num_params < 2) {
PARSE_ERR(("%s: boot directive malformed.", context));
@ -2954,22 +2877,6 @@ parse_line_formatted(char *context, int num_params, char *params[])
BX_ERROR(("%s: WARNING: ips is AWFULLY low!", context));
}
}
else if (!strcmp(params[0], "pit")) { // Deprecated
if (num_params != 2) {
PARSE_ERR(("%s: pit directive: wrong # args.", context));
}
BX_INFO(("WARNING: pit directive is deprecated, use clock: instead"));
if (!strncmp(params[1], "realtime=", 9)) {
switch (params[1][9]) {
case '0':
BX_INFO(("WARNING: not disabling realtime pit"));
break;
case '1': bx_options.clock.Osync->set (BX_CLOCK_SYNC_REALTIME); break;
default: PARSE_ERR(("%s: pit expected realtime=[0|1] arg", context));
}
}
else PARSE_ERR(("%s: pit expected realtime=[0|1] arg", context));
}
else if (!strcmp(params[0], "max_ips")) {
if (num_params != 2) {
PARSE_ERR(("%s: max_ips directive: wrong # args.", context));
@ -3168,22 +3075,6 @@ parse_line_formatted(char *context, int num_params, char *params[])
}
}
}
else if (!strcmp(params[0], "newharddrivesupport")) {
if (num_params != 2) {
PARSE_ERR(("%s: newharddrivesupport directive malformed.", context));
}
if (strncmp(params[1], "enabled=", 8)) {
PARSE_ERR(("%s: newharddrivesupport directive malformed.", context));
}
BX_INFO(("WARNING: newharddrivesupport directive is deprecated and should be removed."));
if (params[1][8] == '0')
bx_options.OnewHardDriveSupport->set (0);
else if (params[1][8] == '1')
bx_options.OnewHardDriveSupport->set (1);
else {
PARSE_ERR(("%s: newharddrivesupport directive malformed.", context));
}
}
else if (!strcmp(params[0], "cmosimage")) {
if (num_params != 2) {
PARSE_ERR(("%s: cmosimage directive: wrong # args.", context));
@ -3191,13 +3082,6 @@ parse_line_formatted(char *context, int num_params, char *params[])
bx_options.cmos.Opath->set (strdup(params[1]));
bx_options.cmos.OcmosImage->set (1); // CMOS Image is true
}
else if (!strcmp(params[0], "time0")) { // Deprectated
BX_INFO(("WARNING: time0 directive is deprecated, use clock: instead"));
if (num_params != 2) {
PARSE_ERR(("%s: time0 directive: wrong # args.", context));
}
bx_options.clock.Otime0->set (atoi(params[1]));
}
else if (!strcmp(params[0], "clock")) {
for (i=1; i<num_params; i++) {
if (!strncmp(params[i], "sync=", 5)) {
@ -3485,6 +3369,45 @@ parse_line_formatted(char *context, int num_params, char *params[])
}
}
}
// Old timing options have been replaced by the 'clock' option
else if (!strcmp(params[0], "pit")) { // Deprecated
if (num_params != 2) {
PARSE_ERR(("%s: pit directive: wrong # args.", context));
}
BX_INFO(("WARNING: pit directive is deprecated, use clock: instead"));
if (!strncmp(params[1], "realtime=", 9)) {
switch (params[1][9]) {
case '0':
BX_INFO(("WARNING: not disabling realtime pit"));
break;
case '1': bx_options.clock.Osync->set (BX_CLOCK_SYNC_REALTIME); break;
default: PARSE_ERR(("%s: pit expected realtime=[0|1] arg", context));
}
}
else PARSE_ERR(("%s: pit expected realtime=[0|1] arg", context));
}
else if (!strcmp(params[0], "time0")) { // Deprectated
BX_INFO(("WARNING: time0 directive is deprecated, use clock: instead"));
if (num_params != 2) {
PARSE_ERR(("%s: time0 directive: wrong # args.", context));
}
bx_options.clock.Otime0->set (atoi(params[1]));
}
// Old disk options are no longer supported
else if (!strcmp(params[0], "diskc")) { // DEPRECATED
PARSE_ERR(("diskc directive is deprecated, use ata0-master: instead"));
}
else if (!strcmp(params[0], "diskd")) { // DEPRECATED
PARSE_ERR(("diskd directive is deprecated, use ata0-slave: instead"));
}
else if (!strcmp(params[0], "cdromd")) { // DEPRECATED
PARSE_ERR(("cdromd directive is deprecated, use ata0-slave: instead"));
}
else if (!strcmp(params[0], "newharddrivesupport")) { // DEPRECATED
PARSE_ERR(("newharddrivesupport directive is deprecated and should be removed."));
}
else {
PARSE_ERR(( "%s: directive '%s' not understood", context, params[0]));
}

View File

@ -1,7 +1,7 @@
<!--
================================================================
doc/docbook/user/user.dbk
$Id: user.dbk,v 1.158 2005-01-01 15:39:20 vruppert Exp $
$Id: user.dbk,v 1.159 2005-01-08 19:55:54 vruppert Exp $
This is the top level file for the Bochs Users Manual.
================================================================
@ -2873,8 +2873,8 @@ where to look for disk images, how the Bochs emulation layer should work, etc.
When you first start up Bochs, it looks around for its configuration file, and
parses it. Here are a few lines from a sample file:
<screen>
diskc: file="30M.sample", cyl=615, heads=6, spt=17
boot: c
ata0-master: type=disk, path="30M.sample", cylinders=615, heads=6, spt=17
boot: disk
</screen>
The format is very strict, so be sure to put the right number of spaces and
use lowercase letters. As you can see, most lines have a keyword telling what
@ -2891,7 +2891,7 @@ The syntax used for bochsrc can also be used as command line arguments for Bochs
If you have any spaces in your command line arguments, they should be enclosed
in single quotes, for example:
<screen>
bochs 'boot:a' 'floppya: 1_44=a.img, status=inserted'
bochs 'boot:floppy' 'floppya: 1_44=a.img, status=inserted'
</screen>
For other arguments, see section <link linkend="commandline">Command line arguments</link>.
</para>
@ -2900,8 +2900,8 @@ For other arguments, see section <link linkend="commandline">Command line argume
Starting with version 1.3, you can use environment variables in
the bochsrc file, for example:
<screen>
diskc: file="$IMAGES/30M.sample", cyl=615, heads=6, spt=17
boot: c
floppya: 1_44="$IMAGES/bootdisk.img", status=inserted
boot: floppy
</screen>
Starting with version 2.0, two environment variables have a built-in
default value which is set at compile time. $BXSHARE points to the
@ -3179,19 +3179,6 @@ The biosdetect option has currently no effect on the bios
</para>
</section>
<section><title>newharddrivesupport</title>
<para>
Examples:
<screen>
newharddrivesupport: enabled=1
</screen>
This setting enables support for large hard disks, better CD recognition,
and various other useful functions. You can set it to "enabled=1" (on)
or "enabled=0" (off). It is recommended that this setting is left on
unless you are having trouble with it.
</para>
</section>
<section><title>boot</title>
<para>
Examples:
@ -3300,9 +3287,12 @@ Examples:
log: bochsout.txt
log: /dev/tty (Unix only)
log: /dev/null (Unix only)
log: nul (win32 only)
</screen>
Give the path of the log file you'd like Bochs debug and misc. verbage to be
written to. If you really don't want it, make it /dev/null.
to be written to. If you don't use this option or set the filename to '-'
the output is written to the console. If you really don't want it,
make it "/dev/null" (Unix) or "nul" (win32). :^(
</para>
</section>
@ -3721,9 +3711,11 @@ located in the <constant>bochs/host/linux/pcidev/</constant> directory.
<para>
Example:
<screen>
usb1: enabled=1, ioaddr=0xFF80, irq=10
usb1: enabled=1, ioaddr=0xFF80
</screen>
Enables the i440fx PCI USB root hub. PCI support must be enabled, too.
Controls the presence of the USB root hub which is a part of the i440FX PCI
chipset. If you enable USB and use the mouse option 'type=usb' you'll have
a 3-button mouse connected to port #1. PCI support must be enabled, too.
</para>
</section>
@ -3940,60 +3932,6 @@ This defines image file that can be loaded into the CMOS RAM at startup.
</para>
</section>
<section><title>diskc/diskd</title>
<para>
The diskc and diskd options are deprecated. Use
<link linkend="bochsopt-ata-master-slave">ataX-*: type=disk,... option</link>
instead.
</para>
<para>
Examples:
<screen>
diskc: file=10M.img, cyl=306, heads=4, spt=17
diskc: file=112M.img, cyl=900, heads=15, spt=17
diskd: file=483.img, cyl=1024, heads=15, spt=63
</screen>
The diskc/diskd lines tell Bochs what disk image file to use as the constants
of the emulated hard drive, and what geometry it should have. Diskc is the
first hard drive, and diskd is the second hard drive. Using a raw
hard drive is possible under Unix but WE DON'T RECOMMEND IT for safety reasons.
The file should be a
disk image file, which must be exactly 512*cyl*heads*spt bytes long. The
geometry settings are cylinder (cyl), heads, and sectors per track (spt). If
you use bximage (see <xref linkend="diskimagehowto">) to create an image, it
will give you the required cyl, head, and spt information.
<note><para>
You cannot use both diskd and cdromd together.
</para></note>
</para>
</section>
<section><title>cdromd</title>
<para>
The cdromd option is deprecated. Use
<link linkend="bochsopt-ata-master-slave">ataX-*: type=cdrom,... option</link>
instead.
</para>
<para>
Examples:
<screen>
cdromd: dev=/dev/cdrom, status=inserted (Unix only)
cdromd: dev=e:, status=inserted (Windows only)
cdromd: dev=cdromimage.iso, status=inserted
</screen>
The cdromd line tells Bochs to emulate a CD-ROM device.
<note><para>
You cannot use both diskd and cdromd together, and there is no cdromc option.
</para></note>
</para>
</section>
<section><title>pit</title>
<para>
The pit option is deprecated. Use the <link linkend="bochsopt-clock">clock option</link> instead.
@ -7593,7 +7531,7 @@ This has been contributed by Volker Ruppert
7. Set up Bochs for the FreeDOS installation:
boot: a
boot: floppy
floppya: 1_44=FDB8_144.DSK, status=inserted
floppyb: 1_44=base1.img, status=inserted
ata0-master: type=disk, path=c.img, cylinders=20, heads=16, spt=63
@ -7771,11 +7709,11 @@ on your home directory and edit it with your favorite editor (GNU Emacs, i hope
<screen>
romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000
megs: 128
vgaromimage: /usr/share/vgabios/vgabios.bin
vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest
floppya: 1_44=/dev/fd0, status=ejected
diskc: file="/home/asyd/travail/hurd/gnu.img", cyl=227, heads=16, spt=63 # edit me
cdromd: dev=/dev/cdrom, status=inserted
boot: c
ata0-master: type=disk, path="/home/asyd/travail/hurd/gnu.img", cylinders=227, heads=16, spt=63 # edit me
ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
boot: disk
log: /dev/stdout
panic: action=ask
error: action=report
@ -8070,11 +8008,11 @@ the following settings in '.bochsrc':
</para>
<programlisting>
diskc: file=62M, cyl=940, heads=8, spt=17
ata0-master: type=disk, path=62M.img, cylinders=940, heads=8, spt=17
use (940 * 8 * 17 * 512bytes-per-sector = 127840):
unix-> dd if=/dev/zero of=62M bs=512 count=127840
unix-> dd if=/dev/zero of=62M.img bs=512 count=127840
</programlisting>
<para>
@ -8083,11 +8021,11 @@ Setup your '.bochsrc' file. For example:
<programlisting>
megs: 16
boot: c
diskc: file=62M, cyl=940, heads=8, spt=17
boot: disk
ata0-master: type=disk, path=62M.img, cylinders=940, heads=8, spt=17
floppya: 1_44=1.44, status=inserted
vgaromimage: bios/VGABIOS-elpin-2.40
romimage: bios/BIOS-bochs-latest (use newest one)
vgaromimage: file=bios/VGABIOS-lgpl-latest
romimage: file=bios/BIOS-bochs-latest # use newest one
log: ./bochs.out
vga_update_interval: 300000
keyboard_serial_delay: 200
@ -8113,7 +8051,7 @@ Fire up bochs and boot the Win'95 boot diskette:
</para>
<programlisting>
unix-> bochs boot:a
unix-> bochs boot:floppy
Microsoft Windows 95 Setup
</programlisting>
@ -8143,7 +8081,7 @@ in the GUI toolbar. Fire up bochs again.
</para>
<programlisting>
unix-> bochs boot:a
unix-> bochs boot:floppy
Microsoft Windows 95 Setup
@ -8399,12 +8337,12 @@ attempt to reboot.
</para>
<para>
Fire up bochs again. The 'boot:c' is not necessary if
you have the 'boot: c' directive in your '.bochsrc' file.
Fire up bochs again. The 'boot:disk' is not necessary if
you have the 'boot: disk' directive in your '.bochsrc' file.
</para>
<programlisting>
unix-> bochs boot:c
unix-> bochs boot:disk
</programlisting>
<para>
@ -8498,7 +8436,7 @@ execution. Make a backup copy.
</para>
<programlisting>
unix-> cp 62M 62M.win95.installedOK
unix-> cp 62M.img 62M.win95.installedOK
</programlisting>
<para>
@ -8519,7 +8457,7 @@ associated with your hard disk image file, for example:
</para>
<programlisting>
~/.mtoolsrc: drive c: file="/path/62M" partition=1
~/.mtoolsrc: drive c: file="/path/62M.img" partition=1
</programlisting>
<para>
@ -8586,7 +8524,7 @@ image files, used to facilitate installation.
<para>
OK, you're done!!! Make sure you tell bochs to boot the
hard drive either in '.bochsrc' or by the 'boot:c' option,
hard drive either in '.bochsrc' or by the 'boot:disk' option,
and fire it up.
</para>
@ -9041,29 +8979,27 @@ megs: 64
# Filename of ROM images go here. Be sure to check your installation for the location
# of these two files (type: man find). Paths must be absolute.
romimage: file=/usr/local/etc/bochs/bios/BIOS-bochs-latest, address=0xf0000
vgaromimage: /usr/local/etc/bochs/bios/VGABIOS-elpin-2.40
vgaromimage: file=/usr/local/etc/bochs/bios/VGABIOS-lgpl-latest
# Floppies are commented out, but you may need them later.
# floppya: 1_44=/dev/fd0, status=inserted
# floppyb: 1_44=/home/david/win98/floppyb.img, status=inserted
# Cylinder, head, and spt info taken from bximage program output
diskc: file="/home/david/win98/c.img", cyl=3657, heads=16, spt=63
ata0-master: type=disk, path="/home/david/win98/c.img", cylinders=3657, heads=16, spt=63
# Have your Windows 98 CD in the drive, but always boot from hard disk.
# Comment this line out if you are using a disk image for the CD-ROM
# (See next comment).
cdromd: dev=/dev/cdrom, status=inserted
ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
# You can optionally run the following command:
# dd if=/dev/cdrom of=/home/david/win98/win98.iso
# and uncomment the next line
# cdromd: dev=/home/david/win98/win98.iso, status=inserted
newharddrivesupport: enabled=1
# ata0-slave: type=cdrom, path=/home/david/win98/win98.iso, status=inserted
# choose the boot disk.
boot: c
boot: disk
# where do we send log messages?
log: bochsout.txt
@ -9356,27 +9292,24 @@ megs: 64
# Filename of ROM images go here. Be sure to check your installation for the location
# of these two files (type: man find). Paths must be absolute.
romimage: file=/usr/local/etc/bochs/bios/BIOS-bochs-latest, address=0xf0000
vgaromimage: /usr/local/etc/bochs/bios/VGABIOS-elpin-2.40
vgaromimage: file=/usr/local/etc/bochs/bios/VGABIOS-lgpl-latest
# Floppies are commented out, but you may need them later.
# floppya: 1_44=/dev/fd0, status=inserted
# floppyb: 1_44=/home/david/win98/floppyb.img, status=inserted
# Cylinder, head, and spt info taken from bximage program output
diskc: file="/home/david/win98/c.img", cyl=2031, heads=16, spt=63
ata0-master: type=disk, path="/home/david/win98/c.img", cylinders=2031, heads=16, spt=63
# If you ran the following command:
# dd if=/dev/cdrom of=/home/david/win98/win98.iso
# you can use the CD-ROM image on your hard drive:
cdromd: dev=/home/david/win98/win98.iso, status=inserted
ata0-slave: type=cdrom, path=/home/david/win98/win98.iso, status=inserted
# Optionally, if you have your Windows 98 CD in the drive
# you can uncomment the next line, but the installation
# process will be slower.
# cdromd: dev=/dev/cdrom, status=inserted
newharddrivesupport: enabled=1
# ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
# choose the boot disk.
boot: cdrom
@ -9721,8 +9654,8 @@ Parts/Attachments:
4) Prepare the instalation Bochs
I edit the bochsrc.txt file so
- WinMe.img is diskc
- Win98.img is diskd
- WinMe.img is ata0-master
- Win98.img is ata0-slave
5) Running setup
@ -9884,7 +9817,7 @@ Parts/Attachments:
11) That's all
Now you can comment out the diskd line in the bochsrc.txt. WinMe.img
Now you can comment out the ata0-slave line in the bochsrc.txt. WinMe.img
contains a working WinMe.
NOTE: if you lower the IPS, WinMe will be unstable ... surelly
@ -10042,7 +9975,7 @@ ata1: enabled=0
ata2: enabled=0
ata3: enabled=0
romimage: file=bios/BIOS-bochs-latest, address=0xf0000
vgaromimage: bios/VGABIOS-elpin-2.40
vgaromimage: file=bios/VGABIOS-lgpl-latest
megs: 64
parport1: enabled=1, file="lp.pipe"
com1: enabled=0
@ -10054,14 +9987,12 @@ keyboard_serial_delay: 250
keyboard_paste_delay: 100000
floppy_command_delay: 500
ips: 3000000
pit: realtime=1
clock: sync=realtime, time0=0
text_snapshot_check: 0
mouse: enabled=0
private_colormap: enabled=0
i440fxsupport: enabled=0
time0: 0
# no ne2k
newharddrivesupport: enabled=1
# no loader
log: osr5.log
logprefix: %t-%e-%i%d
@ -10114,7 +10045,7 @@ step took just over eight hours! (BTW, it was MUCH longer in version 1.4.1. Gr
After the install finishes, you will need to change the following lines in .bochsrc file:
<programlisting>
ne2k: ioaddr=0x280, irq=10, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
boot: c
boot: disk
</programlisting>
Obviously, if you're not using Linux, the ethmode and ethdev values on the ne2k line will be different.
Also, since Bochs uses "raw" network card access, you'll have to "setuid root" on the Bochs executable:

View File

@ -17,7 +17,7 @@ home directory.
Starting with Bochs 1.3, you can use environment variables in
the bochsrc file, for example:
diskc: file="$IMAGES/30M.sample", cyl=615, heads=6, spt=17
floppya: 1_44="$IMAGES/bootdisk.img", status=inserted
Starting with version 2.0, two environment variables have a built-in
default value which is set at compile time. $BXSHARE points to the
@ -130,13 +130,12 @@ Example:
.TP
.I "vgaromimage:"
You also need to load a VGA ROM BIOS into
C0000.
You also need to load a VGA ROM BIOS into 0xC0000.
Examples:
vgaromimage: bios/VGABIOS-elpin-2.40
vgaromimage: bios/VGABIOS-lgpl-latest
vgaromimage: $BXSHARE/VGABIOS-lgpl-latest
vgaromimage: file=bios/VGABIOS-elpin-2.40
vgaromimage: file=bios/VGABIOS-lgpl-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
.TP
.I "floppya: \fPor \fIfloppyb:"
@ -244,22 +243,28 @@ Examples:
ata3-slave: type=cdrom, path=iso.sample, status=inserted
.TP
.I "com1:"
This defines a serial (COM) port. You can specify a device to use as com1.
This can be a real serial line, or a pty. To use a pty (under X/Unix),
create two windows (xterms, usually). One of them will run bochs, and the
other will act as com1. Find out the tty the com1 window using the `tty'
command, and use that as the `dev' parameter. Then do `sleep 1000000' in
the com1 window to keep the shell from messing with things, and run bochs in
the other window. Serial I/O to com1 (port 0x3f8) will all go to the other
window.
.I "com1: \fP, \fIcom2: \fP, \fIcom3: \fPor \fIcom4:"
This defines a serial port (UART type 16550A). In the 'term' you can specify
a device to use as com1. This can be a real serial line, or a pty. To use
a pty (under X/Unix), create two windows (xterms, usually). One of them will
run bochs, and the other will act as com1. Find out the tty the com1 window
using the `tty' command, and use that as the `dev' parameter. Then do
`sleep 1000000' in the com1 window to keep the shell from messing with things,
and run bochs in the other window. Serial I/O to com1 (port 0x3f8) will all
go to the other window.
Other serial modes are 'null' (no input/output), 'file' (output to a file
specified as the 'dev' parameter), 'raw' (use the real serial port - under
construction for win32) and 'mouse' (standard serial mouse - requires
mouse option setting 'type=serial' or 'type=serial_wheel')
Examples:
com1: enabled=1, dev=/dev/ttyp7
com1: enabled=0
com1: enabled=term, dev=/dev/ttyp7
com2: enabled=1, mode=file, dev=serial.out
com1: enabled=1, mode=mouse
.TP
.I "parport1:"
.I "parport1: \fPor \fIparport2:"
This defines a parallel (printer) port. When turned on and an output file is
defined the emulated printer port sends characters printed by the guest
OS into the output file. On some platforms a device filename can be used to
@ -267,29 +272,17 @@ send the data to the real parallel port (e.g. "/dev/lp0" on Linux).
Examples:
parport1: enabled=1, file=parport.out
parport1: enabled=1, file="/dev/lp0"
parport2: enabled=1, file="/dev/lp0"
parport1: enabled=0
.TP
.I "newharddrivesupport:"
This setting enables support for large hard
disks, better CD recognition, and various
other useful functions. You can set it to
"enabled=1" (on) or "enabled=0" (off). It is
recommended that this setting is left on
unless you are having trouble with it.
Example:
newharddrivesupport: enabled=1
.TP
.I "boot:"
This defines your boot drive. You can either
boot from 'floppy', 'disk' or 'cdrom'.
This defines the boot sequence. Now you can specify up to 3 boot drives.
You can either boot from 'floppy', 'disk' or 'cdrom'
(legacy 'a' and 'c' are also supported)
Example:
boot: disk
boot: cdrom, floppy, disk
.TP
.I "floppy_bootsig_check:"
@ -588,18 +581,23 @@ Example:
.TP
.I "mouse:"
This option prevents Bochs from creating mouse
"events" unless a mouse is enabled. The
hardware emulation itself is not disabled by
this. You can turn the mouse on by setting
enabled to 1, or turn it off by setting
enabled to 0. Unless you have a particular
reason for enabling the mouse by default,
it is recommended that you leave it off.
This option prevents Bochs from creating mouse "events"
unless a mouse is enabled. The hardware emulation itself
is not disabled by this. You can turn the mouse on by
setting enabled to 1, or turn it off by setting enabled
to 0. Unless you have a particular reason for enabling
the mouse by default, it is recommended that you leave
it off. You can also toggle the mouse usage at runtime
(control key + middle mouse button).
With the mouse type option you can select the type of mouse to emulate.
The default value is 'ps2'. The other choices are 'imps2' (wheel mouse
on PS/2), 'serial', 'serial_wheel' (one com port requires setting
'mode=mouse') and 'usb' (3-button mouse on USB port #1 - requires PCI and
USB support).
Example:
mouse: enabled=1
Examples:
mouse: enabled=0
mouse: enabled=1, type=imps2
.TP
.I "private_colormap:"
@ -722,50 +720,12 @@ Example:
.TP
.I "usb1:"
Enables the i440fx PCI USB root hub. USB devices with access to real hardware
are not implemented yet. PCI support must be enabled, too.
Controls the presence of the USB root hub which is a part of the i440FX PCI
chipset. If you enable USB and use the mouse option 'type=usb' you'll have
a 3-button mouse connected to port #1. PCI support must be enabled, too.
Example:
usb1: enabled=1, ioaddr=0xFF80, irq=10
.TP
.I "diskc:"
or
.I "diskd:"
The \fBdiskc\fR and \fBdiskd\fR options are deprecated. Use \fBata*\fR
options instead.
Point this at the disk image you want to use
as for a hard disk. If you use bximage(1) to
create the image, it will give you the
required cyl, head, and spt information.
diskc is the first hard drive, and diskd is the
second hard drive.
.B NOTE:
You cannot use both diskd and cdromd together.
Example:
diskc: file=10M.i, cyl=306, heads=4, spt=17
diskc: file=112M.i, cyl=900, heads=15, spt=17
diskd: file=483.i, cyl=1024, heads=15, spt=63
.TP
.I "cdromd:"
The \fBcdromd\fR option is deprecated. Use \fBata*\fR options instead.
Point this to a pathname of a raw CD-ROM device.
There is no cdromc option, only cdromd.
.B NOTE:
You cannot use both diskd and cdromd together.
Example:
cdromd: dev=/dev/cdrom, status=inserted
cdromd: dev=/dev/cdrom, status=ejected
usb1: enabled=1, ioaddr=0xFF80
.TP
.I "pit:"