[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