[syslinux] PXELINUX gets stuck when receiving non-PXE traffic

H. Peter Anvin hpa at zytor.com
Thu Jul 18 18:18:02 PDT 2019

On 7/18/19 10:30 AM, Michael Stapelberg via Syslinux wrote:
>>> Is the same behavior present when testing with other versions? I would 
>>> suggest trying 6.04-pre1, and/or the binaries from Debian Sid / 
>>> Unstable (which are more up-to-date than official upstream 6.04-pre1). 
>>> Please note that you need to replace _all_ binaries (e.g. *.c32), not 
>>> just lpxelinux.0, from the same exact build/version/package.
> Thanks for letting me know. I have repeated my tests with 6.04-pre1 and
> Debian unstable’s 3:6.04~git20190206.bf6db5b4+dfsg1-1. Both versions
> exhibit the same problem.
>> Indeed; it would also be a good idea to test both pxelinux.0 and lpxelinux.0.
>> They access the PXE stack in very different ways, so it is a good idea to
>> check both.
> I can confirm that using pxelinux.0 instead of lpxelinux.0 does indeed
> work in my setup! I will switch to pxelinux.0 for the time being.
> I tried enabling debug output by using:
> echo 'GCCWARN += -DDEBUG_PORT=0x3f8 -DCORE_DEBUG=1' >> mk/devel.mk
> …but unfortunately I don’t see any additional messages on the serial
> console except for the initial message:
> PXELINUX 6.04 lwIP  Copyright (C) 1994-2015 H. Peter Anvin et al
> Do you happen to know off-head what might be wrong here? As a quick
> reminder, the hardware I’m running this on is a
> https://pcengines.ch/apu2c4.htm


lpxelinux.0 interacts with the network ROM in a completely different way than
pxelinux.0.  In general, the method used by pxelinux.0 is likely to be *far*
more reliable given the crazy variety of PXE ROMs out there; however, it can
inherently only use UDP and therefore only supports TFTP. For that reason, I
strongly recommend that people use lpxelinux.0 only if you intend to boot from
a non-TFTP protocol (i.e. HTTP or FTP.)


More information about the Syslinux mailing list