[syslinux] syslinux (pxelinux.0) debug prints

Wissam Shoukair wissams at mellanox.com
Thu May 29 09:50:12 PDT 2014


Op 2014-05-29 om 06:27 schreef Gene Cumm:
> On May 29, 2014 5:25 AM, "Wissam Shoukair" <wissams at mellanox.com> wrote:
> >
> > Hi Gene,
> >
> > I was wondering how I can set the ???printf??? output to be visible on the
> screen? (I???m using syslinux-6.03-pre02)
>
> printf () or dprintf ()? You need to watch what functions are available at
> the time you want to print.  For example, printf isn't available until
> ldlinux.c32 is loaded.
>
> Why not 6.03-pre12?
>

I have to work with this version???

Apparently that???s why I don???t see the prints. I don???t think
ldlinux.c32 is loaded yet. how I can print messages in the beginning
of pxelinux.0
For example, I need to add print to the following places:
pxe_fs_init() in core/fs/pxe/pxe.c
gpxe_init in core/fs/pxe/bios.c
pxe_call in core/fs/pxe/pxe.c
call16 in core/call16.c

To be more specific, I have a problem with versions later than 5.01.
Until version 5.01 I can boot as usual with no issues.
However, when I use pselinux.0 version 5.02 and up, the following problem happens:

1.       My PXE driver loads and the links are up

2.       The interface gets an IP address from the DHCP server, and it gets
         the filename to download from the same server (which is pxelinux.0)

3.       The PXE client downloads pxelinux.0 file.

4.       When it starts to load the system crashes and reboots.

I was able to pin down the issue with stalls (sleep() function). I suspect
that the addresses of the PXE API are not correct or corrupted somehow.
When I call this function (core_farcall((size_t)func, &xreg, oreg);
in file core/call16.c), the system crashes???
Do you have any suggestions?


Thanks,
wissam


More information about the Syslinux mailing list