[syslinux] Incompatibility using pxelinux 3.80 or later and setupldr.exe from windows XP 32 bits

Miller, Shao Shao.Miller at yrdsb.edu.on.ca
Mon Aug 17 07:09:05 PDT 2009


Good day Thierry,

Regarding your RIS-like setup for Windows XP using PXELINUX:

The Windows XP RIS setup code is known to read and use a portion of
memory which is uninitialized.  Nobody but MS would know why for sure,
but at least one person suspects that it is filled-in by some process
and expected to persist after a reboot.  Or perhaps it is expected to be
populated by a previous process which chains to this point.  The memory
read is at 0x000FAF0.  It appears that this memory location is expected
to be a null-terminated string for an alternative filename for
WINNT.SIF.  If a previous boot-loader has used that memory for something
else, it is filled with garbage, but still used as the alternative
WINNT.SIF filename, which results in failure, of course.  I suspect that
this alternative filename logic is intended to support either a
language-specific alternative filename, or a client/model-specific
filename, to allow for different setup options for different clients.

H. Peter recently addressed this in PXELINUX here:
http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commit;h=18ca4d8cc
87761c6a5ab763069fad562fec69b59.  It might be worth trying with a
PXELINUX built after that source code change.

You might also enjoy Gianluigi's information at:
http://oss.netfarm.it/guides/ris-linux.php and
http://oss.netfarm.it/guides/pxe.php and
http://oss.netfarm.it/guides/ris-linux.pdf.  You might also search the
Boot-Land forums for relevant discussion.

You might also enjoy the pxechain.com COMBOOT module included with
Syslinux.  You can use it to chain startrom.n12 from PXELINUX, where RIS
lives on a different box than your TFTP box.  Details are in its source
code at Syslinux/modules/pxechain.asm.

Good luck in your PXELINUX-enabled Windows XP RIS adventures!

- Shao Miller




More information about the Syslinux mailing list