- 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:
parent
ebde27f2ab
commit
ccde06a25d
@ -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
|
||||
|
||||
|
157
bochs/config.cc
157
bochs/config.cc
@ -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 (¶ms[1][5]);
|
||||
bx_options.atadevice[0][0].Ocylinders->set (atol(¶ms[2][4]));
|
||||
bx_options.atadevice[0][0].Oheads->set (atol(¶ms[3][6]));
|
||||
bx_options.atadevice[0][0].Ospt->set (atol(¶ms[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 (¶ms[1][5]);
|
||||
bx_options.atadevice[0][1].Ocylinders->set (atol( ¶ms[2][4]));
|
||||
bx_options.atadevice[0][1].Oheads->set (atol( ¶ms[3][6]));
|
||||
bx_options.atadevice[0][1].Ospt->set (atol( ¶ms[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 (¶ms[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]));
|
||||
}
|
||||
|
@ -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:
|
||||
|
@ -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:"
|
||||
|
Loading…
Reference in New Issue
Block a user