[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