> On 2019-4-11 13:29, Lu Wei wrote:
> > On 2019-4-10 1:20, Ady Ady via Syslinux wrote:
> >>>>> #This item fails
> >>>>> label dos
> >>>>> menu label MS-^DOS 7.1
> >>>>> com32 chain.c32 msdos7=io.sys
> >>>
> >>> IO.SYS and COMMAND.COM are copied from a Windows98 system on
another
> >>> computer, which is MSDOS7.1; and BOOTSECT.W98 is from Bootpart
tool (I
> >>> compared it with the one from my Windows98 system, and I think
they are
> >>> basically the same except label name, so I use this one), but
I think if
> >>> io.sys is loaded, boot sector should be of no use. I have
tried "boot
> >>> BOOTSECT.W98" and "bss BOOTSECT.W98" without
success, so I'd like to
> >>> jump over it and get to IO.SYS directly.
> >>
> >>
> >> Would you please try using the equivalent files for FreeDOS in the
USB? You
> can
> >> see the options for chain.c32 in the Syslinux wiki. There are at
least 2
> wiki
> >> pages relevant for chain.c32, so I would suggest taking a look at
both of
> them.
> >>
> > FreeDOS equivalent file of io.sys is kernel.sys, (both use command.com
> > as CLI shell), and can successfully boot by:
> > com32 chain.c32 freedos=kernel.sys
> >
> >> BTW, which exact version of SYSLINUX are you using? Is your
chain.c32 from
> the
> >> same exact package / version? FYI, different versions should not
be mixed,
> and
> >> the options that chain.c32 actually supports depend on the exact
version
> (with
> >> some backward incompatibilities too).
> >>
> > I downloaded syslinux-6.03.zip from official site, and extracted all
> > files in \bios to H:\syslinux (sub-directory structure not retained to
> > reduce path command in syslinux.cfg), except later I found memdisk do
> > not honor path command and moved it to root. So they must be same
version.
> >
> I forgot to say, the error message of "com32 chain.c32
msdos7=io.sys" is:
> ----------------------------------------
> BPB detection (sect): unknown
> Booting...
> (16 non-text strange characters)
> ----------------------------------------
> Then press Esc can return to syslinux boot menu.
I was tempted to reply to several side-topics you have mentioned. I'll skip
them, except for one: the PATH directive is for c32 files only. I am mentioning
this because some readers might interpret the phrase "memdisk do not honor
path
command" as if it was some kind of bug; it is not.
Regarding the MSDOS 7.1 boot files... Do you still have access to that Win98
system? If you do, I would suggest searching for "io.dos" and
"msdos.dos".
These might be set as "hidden" and/or "system" (use attrib
if needed), and
there might be some additional "*.dos" file(s) too. These are the
"MSDOS 7.1"
boot files. The ones you got before _might_ be the "Win98" variants
instead.
Once copied to your USB device, you can change the filename extension from
"*.dos" to "*.sys" (and "*.com" for the DOS
shell). Yet, these might not be
enough for a successful chainload. The MSDOS boot files require some conditions
for them to be able to boot. The easiest way to achieve the adequate conditions
is to create an MS-DOS 7.1 boot disk, test it, and then install SYSLINUX on it.
Additional potential problems might be the C/H/S values (FreeDOS is more
tolerant in this regard), and using FAT32 instead of FAT16. Yes, Win98 already
supports FAT32, but I admit that I don't exactly recall which filesystem
(and
max size) its MS-DOS counterpart supports.
Another test you could perform: build a boot floppy image with these io.sys /
msdos.sys / command.com files and boot it by means of memdisk (not with
chain.c32). Repeat the same with a bigger, FAT16 image.
These tests could narrow down the problem, according to their results.
OTOH, if FreeDOS boots correctly, perhaps it is enough for your DOS needs and
you might not need "MS-DOS 7.1" anymore.
Regards,
Ady.