Mail Archives: opendos/2001/11/05/10:09:47
On 2001-11-04, Ben A L Jemmett wrote:
> Hmm... I seem to recall the DCONFIG/AUTODOS7 used to be used when
> dual-booting, but perhaps that changed since I last installed OpenDOS
> (as it was then; 7.02 uses CONFIG.SYS/AUTOEXEC.BAT on my machine).
There have been some slight changes, Ben, but the general mechanism
is still the same as in all versions of DR DOS.
When a file DCONFIG.SYS exists, it will take precedence over CONFIG.SYS.
This even worked with DR DOS 3.31 and is still the case with 7.05.
In addition to this, my OpenDOS 7.02 ALPHA kernels, Calderaīs OpenDOS
7.02 BETA 2 & 2A, and the DR-OpenDOS 7.02 release also supported
ODCONFIG.SYS which worked in the same way, that is, the existance of
ODCONFIG.SYS overrides DCONFIG.SYS. This was removed again in the
process of the name change back to DR-DOS 7.02. (However, some issues
of IBMBIO.COM and SYS.COM have a name extension for DRCONFIG.SYS now,
but not the shipped 7.02/7.03 binaries.)
Itīs interesting to note, that FreeDOS has a similar extension for
the FDCONFIG.SYS filename. ;-)
The default name of the AUTOEXEC.BAT file has always been just this.
You can specify a different file name with the
COMMAND.COM /P:filename.ext[;password]
option (this works at least since DR DOS 6.0+), and since the primary
command processor is usually loaded from within [D]CONFIG.SYS, this
option is usually found in a SHELL= statement like:
SHELL=c:\drdos\command.com /MH /E:512 /P:autodos7.bat
Note, that the DR-DOS COMMAND.COM does not allow to specify a *path*
with /P, only a *filename*, while 4DOS allows to give a full path to
the batch file, so it is not necessary to store this in the root
directory. However, in contrast to 4DOS, which only allows .BAT or
.BTM as valid file extensions, the DRDOS COMMAND.COM accepts any file
extension for the batch file, so /P:autoexec.703 works fine if AUTOEXEC.703
is a normal batch file. (Donīt try to run non-ASCII scripts using this
option! ;-)
So, the normal multi-boot configuration with LOADER (as automatically
selected and set up by the DR-DOS INSTALL/SETUP on a machine which has
Windows 9x/SE/ME installed) is simply to provide a DCONFIG.SYS file and
in there have a SHELL= line refering to AUTODOS7.BAT. Since MS-DOS/PC DOS
do not know of any of these extensions, they continue to use the
CONFIG.SYS and AUTOEXEC.BAT files.
Now, forcing DRDOS to use CONFIG.SYS is as simple as removing or
renaming the DCONFIG.SYS file (and adapting the CONFIG.SYS file
to meet the DR-DOS criteria, of course).
QEMMīs OPTIMIZE does not know about them, so this does not directly
help with "cyborg"īs problem, but since you have mentioned the
[D]CONFIG.SYS CHAIN= directive already, Iīd like to explain this
as well:
The complete DR DOS 5.0+ syntax is:
CHAIN [=] filespec[;password]
which will switch the execution of the current CONFIG.SYS file
to the specified new file (already parsed stuff will not be
ignored!), so you can daisy-chain multiple configuration files.
Note, that I wrote file*spec*, not file*name*, as you can optionally
give a drive letter and/or path to the configuration file, and
you can also specify a different file extension. It is important
to know, that chaining will discard any open return addresses
on the SWITCH=/GOSUB= stack, that is, you cannot return to the
old file using the RETURN= directive (unless you chain back using
labels, see below). If the specified file does not exist, the
parser will continue to execute the current configuration file.
DR-DOS 7.02+ adds the following syntax enhancement:
CHAIN [=] filespec[;password][,label]
so that the execution of the new file optionally starts at the
specified label similar as if a
GOTO [=] [label]
directive would have been executed just after switching to the
new file. If the label does not exist the parsing of the configuration
file(s) is finished, if no label is specified the last label in
the corresponding file is assumed. (Unfortunately, a slight bug
in 7.02 made the CHAIN= directive semi-non-functional in this
release, however the later 7.02 updates and the 7.03 release do
not suffer from this bug.)
Note the interesting coincidence with the Datalight ROM-DOS 6.22
CONFIG.SYS directive
NEWFILE=filespec
which appears to work exactly the same as DR DOS 5.0+ CHAIN=... ;-)
> Anyway, you could try opening IBMBIO.COM in a hex editor and
> changing references to DCONFIG.SYS to CONFIG.SYS followed by
> a NULL (0); that might make it look at CONFIG.SYS; then open
> COMMAND.COM and change AUTODOS7 to AUTOEXEC. Be sure to keep
> backups of the files though because you'll want to swap them
> back if something doesn't work as expected.
While it is possible to patch these filenames, please donīt do it
this way.
Certain parts of the DCONFIG.SYS string in IBMBIO.COM are sensitive
to their position in the file, so you must not move the string -
even not within the placeholder.
If you want IBMBIO.COM to ignore the DCONFIG.SYS file, just rename
the DCONFIG.SYS file to, for example, CONFIG.SYS. If you really
want to disable this feature, then replace the "D" in the IBMBIO.COM
image by a letter that is not matched as a filename, say "X".
There is no string "AUTODOS7.BAT" in COMMAND.COM. Just change the
/P parameter in the corresponding SHELL= line in the corresponding
CONFIG.SYS file to the desired value.
However, I think, what you are referring to is another DRDOS
feature to modify the name of the initial configuration files
even beyond the [D]CONFIG.SYS feature. This also wonīt help
"cyborg", but since this might be interesting to some of the
newer DRDOS users, who donīt know of this possibility, Iīll
explain it again here:
The DR DOS SYS.COM command has an option /DR:ext to specify
the file extension of the initial [D]CONFIG.SYS file to be
different from ".SYS". (This works with the DR DOS 6.0+
SYS.COM and for DR DOS 5.0+ kernel files.) For these issues,
the specified extensions must be a 3-character extension.
Assuming you are at the A:\> prompt booted from DR-DOS,
if you execute for example:
SYS a:\ c: /DR:703
the DRDOS SYS will write a new boot sector to C:\ which will
load IBMBIO.703 instead of IBMBIO.COM, and the IBMBIO.703
file that is written to C:\ will be patched to load a file
IBMDOS.703 rather than IBMDOS.COM, and it will try to parse
[D]CONFIG.703 instead of [D]CONFIG.SYS. This way you can have
more than one parallel DRDOS installation residing on the
same partition and you only have to change the boot sector
to load different kernels. It also allows a parallel installation
of DRDOS with IBMīs PC DOS which uses the same IBMBIO.COM/
IBMDOS.COM file names for the kernel files.
The DR-DOS multi-boot LOADER utility makes this configuration
much easier to set up as you do no longer need to patch the
boot sector any more, but just add lines to the BOOT.LST
configuration file (this filename is the default filename
and can be changed as well when invoking LOADER - see LOADER /?
for possible configuration options). For example, BOOT.LST
normally contains a line like:
IBMBIO.COM S [5] Caldera DR-DOS 7.03
to start the IBMBIO.COM file using boot method "S" on F2
or after a delay of five seconds. If you were using DR DOS 6.0,
Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02/7.03 at the same
time, the file might look like this:
IBMBIO.600 S DR DOS 6.0
IBMBIO.700 S Novell DOS 7
IBMBIO.701 S OpenDOS 7.01
IBMBIO.702 S DR-DOS 7.02
IBMBIO.703 S [5] DR-DOS 7.03 (default)
You can just copy/rename the files into the root of C:\ but
they will all continue to load IBMDOS.COM and search for
[D]CONFIG.SYS. Although the kernel files are interchangable
to some extend (early Novell DOS 7 and OpenDOS 7.01 IBMBIO.COM
and IBMDOS.COM files, or later Novell DOS 7 and DR-DOS 7.02/
7.03 files can be combined), this will probably not be the
desired effect in most cases. Using the SYS /DR:ext option you
can have different configuration kernel and configuration
files for each of them. In case you want them all to execute
the same general DRDOS style "CONFIG.SYS" file, you could
just create dummy files {D]CONFIG.600/700/701/702/703 which
contain a single line like:
CHAIN DCONFIG.SYS
Well, while this method already worked fine in general, it
was more difficult to set up than necessary, because with
the introduction of LOADER it is no longer necessary to
load DR-DOS out of the boot sector, but SYS still always
wrote a new boot sector.
So in case you would have loaded a different operating system
(like MS-DOS/PC DOS or anything else) from the boot sector,
you would have to restore that boot sector afterwards after
adding each and any of the DRDOS issues.
As a remedy many other SYS options have been added with
DR-DOS 7.02/7.03, and /DR:ext was extended to also allow to
1- and 2-character file extensions, now. In particular the
options /L and /S are most useful in conjunction with
an already installed LOADER so that you can use SYS to
create the correct kernel files on the destination boot
drive without copying the command processor and touching
the boot sector.
(Besides other improvements my enhanced internal issue of
SYS has had added a couple of additional options which are
not supported by 7.03 yet (namely /B, /E, /F, /G, /M, /N,
/U, /W, /X, /#, and /3). The default for /DR: without
extension is now .BIN. Iīm mentioned these extensions mainly
for the listening FreeDOSers, so that we donīt step on each
others toes and keep option names compatible.)
SYS R1.54 (000313) Transfer Operating System files to Boot Medium
SYS [/Help] [drive1:][path] drive2: [/options]
/A Additionally copy [D]CONFIG.SYS and AUTOEXEC.BAT file(s)
/B or /L Do not modify the Boot Sector in destination (with LOADER)
/C Ignore %COMSPEC% variable to find command processor
/DR[:ext] Use other file extension for system files (BIN) (with LOADER)
/E Force refresh of serial number (and label) on destination disk
/F:path Alternative way to specify the drive1:path of source files
/G Audible reminder of disk change or system transfer complete
/J Additionally copy preload disk compression driver
/M Make multiple system diskettes in one go
/N Always preserve command processor name (use CONFIG.SYS SHELL)
/O[:nnn] Use old style Boot Sector, override default boot drive unit nnn
/P Always prompt for insertion of floppy disk(s) (batchjob use)
/S Skip copying the command processor
/U Save Boot Sector & command processor (OLDBOOT.BIN/COMMAND.OLD)
/V Always verify the data written to disk
/W[:password] Password will be required to access the kernel files
/Y Assume YES on all queries, or abort on fatal errors
/X Display verbose messages
/# Generate timestamp instead of serial number in destination
/3 Name DRBIOS.SYS/DRBDOS.SYS instead of IBMBIO.COM/IBMDOS.COM
Operating System files are copied from the source, drive1:path, to the desti-
nation, drive2:, so that the destination disk becomes a bootable system disk.
You do not have to specify the source drive and path: SYS will look for the
system files in the root of the drive containing the SYS.COM program. By
default it also uses the %COMSPEC% variable to locate the command processor.
Examples: SYS a: or SYS b:\ a:
Hope it helps,
Matthias
--
Matthias Paul, Ubierstrasse 28, D-50321 Bruehl, Germany
<mailto:Matthias DOT Paul AT post DOT rwth-aachen DOT de>; <mailto:mpaul AT drdos DOT org>
http://www.uni-bonn.de/~uzs180/mpdokeng.html; http://mpaul.drdos.org
- Raw text -