[syslinux] Syslinux DOS-based installer in FreeDOS
Ady
ady-sf at hotmail.com
Fri May 30 05:40:31 PDT 2014
> On Sat, May 24, 2014 at 11:22 PM, H. Peter Anvin <hpa at zytor.com> wrote:
>
> > On 05/24/2014 01:58 PM, Ady wrote:
> > >
> > > My guess is that if this was a bug in FreeDOS (as in "something" that
> > > has nothing to do with the syslinux.com command) then it would be
> > > somehow triggered by other DOS programs trying to write to the MBR.
> > > Considering that there are several (open source) DOS programs that
> > > are capable of successfully writing to the MBR under FreeDOS, I would
> > > tend to think that there is some interaction issue.
> > >
> >
> > There are a few different ways to do this. I suspect programs like
> > FDISK use direct BIOS accesses, because they have to also create
> > partitions.
> >
> > Syslinux uses INT 21, AX=440D, CH=08/48 CL=41/61 which to the best of my
> > understanding is supposed to read the absolute sectors corresponding to
> > a target device, and I just verified under MS-DOS 6.22 behaves that way,
> > and that FreeDOS 1.1 does not -- which by definition means it is a bug
> > in FreeDOS.
> >
> > -hpa
> >
> >
> Thank you both, for finding the bug and narrowing down to the specific
> calls at fault.
> I have posted a preliminary fix (see
> https://sourceforge.net/p/freedos/bugs/121/ ).
>
> Kenneth J. Davis
Thank you Peter, Jeremy and everyone else involved.
A quick test using the preliminary fixed FreeDOS kernel and
syslinux.com 6.03-pre12 was successful for me.
I performed one test on a FAT16 cylinder-aligned partition, and
another one on a FAT32 MiB-aligned partition. In each case, the disk
(image) contained only one partition, previously formatted.
For a complete test, more combinations should be used: multiple
partitions, installing on a second/third partition (not just on the
first one), different alignments, FAT12/16/32, different cluster
sizes... Additionally, other partitioning and formatting tools should
be tested too, in case there is some unwanted interaction with
existing tools. I'll leave all that for the FreeDOS guys to be tested
and reported in the FreeDOS site.
With regards to the DOS-based Syslinux installer, syslinux.com, I
wonder whether there is some way to prevent it from ruining a VBR
when used under an incompatible DOS kernel.
I realize that syslinux.com is not to blame, and that the problem,
if/when present, is in the specific DOS kernel. Yet, if there is some
way for syslinux.com to identify that using "-m" and/or "-a" under
the specific kernel being used would ruin the VBR, it would be
helpful to print some warning message and exit instead of actually
writing (and thus ruining) the VBR.
In the same line of thought, I wonder whether executing the
Windows-based installer, syslinux(64).exe with "-m" and/or "-a" under
alternative environments (Wine, ReactOS,...) could have some similar
unwanted behavior. Any experiences?
Thank you,
Ady.
More information about the Syslinux
mailing list