[syslinux] Problem with FreeDOS + himem64 + PXELINUX + memdisk

Patrick J. LoPresti patl at users.sourceforge.net
Mon Jan 26 11:21:17 PST 2004


(FreeDOS developers, I apologize for the redundant parts of this
message.  But I want to bring the SYSLINUX folks into the discussion,
and the SourceForge mailing list archives are broken.)

Background: I have a little Sourceforge project
(http://unattended.sourceforge.net/) for which I use SYSLINUX to
provide CD-ROM and PXE boot support for my boot disk.  And it works
great with MS-DOS.

However, I want to use FreeDOS for the boot disk.  This is very close
to working with the latest releases of the FreeDOS kernel and
utilities.  I just have one blocking problem.

I am trying to use himem64.exe, part of FreeDOS EMM386:

  http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/emm386/

I am comparing it with fdxxms.sys, part of FDXMS:

  http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/fdxms/

When I use PXELINUX+memdisk (version 2.08) to boot a trivial FreeDOS
boot disk on my IBM Thinkpad T20, using "DEVICE=himem64.exe" in
config.sys, the system spontaneously reboots after reading config.sys
and printing this message:

  Kernel allocated 42 Diskbuffers = 22344 Bytes in HMA

This problem only happens on the T20; it does not happen on my other
test system (Dell Optiplex GX200).  It does not happen if I use
"DEVICE=fdxxms.sys ps" instead of himem64.exe.  And it does not happen
if I boot from a physical floppy instead of PXELINUX+memdisk.

I cannot control which hardware my users have (unfortunately).  I
cannot just use "fdxxms.sys ps" because my testers report that it does
not always work for them.

So I would like to use himem64.exe.  But there is apparently some
incompatibility between himem64.exe and memdisk on this laptop.

I would like to help fix this.  My knowledge of x86 internals is
limited, but I am pretty good at testing binaries and reporting back
results...

Eric Auer, a FreeDOS developer, commented:

    Note that MEMDISK access might fail while A20 is off - the handler
    itself is in 40:[13] allocated low memory, but the disk itself is
    in int 15 high memory as far as I remember. You should check the
    MEMDISK sources to see how disk data is accessed and what is done
    for the A20.

Unfortunately, I do not know enough x86 assembly to understand the
memdisk sources.

Help?

 - Pat




More information about the Syslinux mailing list