[syslinux] debugging pxelinux

Gene Cumm gene.cumm at gmail.com
Tue Apr 14 12:20:08 PDT 2015


On Tue, Apr 14, 2015 at 11:25 AM, Patrick Welche via Syslinux
<syslinux at zytor.com> wrote:

0) What version(s)?  Have you tried the precompiled ones at kernel.org?

> I have reason to believe that an odd box that is having boot trouble has
> three instances of "!PXE" in the chunk of memory that "Method D" should
> look at.

1) You can't have 3 instances in the same place.  You might have 3
that are overwriting each other.

2) Method D is quite the fall back.

> I thought I would try to find out how pxelinux copes with this, by trying
> to insert printfs in pxe_init, but nothing gets printed.

This is normal.

> I can spew lots of output if I set
>
>         DEBUGOPT = -DDEBUG=1 -DDEBUG_STDIO -DCORE_DEBUG=1
>
> but given that this box doesn't have a serial port, anything I add will
> whizz off the screen.

Serial or some sort of IP KVM with logging is ideal.

> From looking at com32/include/dprintf.h, it looks as though all this does is
> to define dprintf to printf, so why is it that if don't define DEBUG_STDIO
> and CORE_DEBUG, and just use printf directly, nothing appears?

If ldlinux.c32 isn't loaded, printf() shouldn't work though printf()
in 1 context might not be the same as another.

> I assume (given the dprintfs) that ldlinux.c32 is loaded by the time
> pxe_init is run, so printf calls should be legal.
>
> What am I missing?

See #0.  Also, you may need to look at writestr().

-- 
-Gene


More information about the Syslinux mailing list