[syslinux] pxelinux.bin (3.80) hanging at the beginning of menu.c32 TFTP transfer

Geert Stappers stappers at stappers.nl
Fri May 29 06:19:06 PDT 2009


Op 20090529 om 11:33 schreef Philippe Auphelle:
> Hi Geert,

This goes to a mailinglist ...

> On Fri, May 29, 2009 at 10:21, Geert Stappers <stappers at stappers.nl> wrote:
> > Op 20090528 om 09:16 schreef Philippe Auphelle:
> >>
> >> I extracted pxelinux.bin and menu.c32 from Testing pre-16 and ran the
> >> test. I unfortunately got a result that's quite similar to the one I
> >> had with the 3.80 release:
> >>
> >> The last activity pxelinux.bin displays is the transfer of the
> >> "default" file ("Trying to load: pxelinux.cfg/default"). Looking at
> >> the trace, that transfer is successful.
> >>
> >> Then the client sends an TFTP RRQ for menu.c32, the TFTP server
> >> ignores the option negociation and sends back a regular TFTP data
> >> packet with a 516-byte payload (524-byte UDP, 544-byte IP, 558-byte
> >> eNet), and at this point, the pxelinux client machine freezes.
> >> WireShark doesn't report any kind of error on the reply data packet.
> >> The server does 3 retries then gives up.
> >> I have a WireShark-readable trace ready reflecting the problem.
> >
> > I willing to explore it with WireShark.
> > Send me ( and/or this mailinglist) where to download it.
>
> You can download it from there:
> http://dl.free.fr/qHGA8UhQq/PXELinux3_81-Pre16Hang.zip
> 
> >> Compared to my previous test with 3.80 release, the only (minor)
> >> difference I see is that this time, the client hard freezes (i.e. Caps
> >> log toggle or Ctrl-Alt-Del don't do anything anymore). Last time,
> >> keyboard interrupt handling was still alive.
> >>


PXELinux3_81-Pre16Hang.zip has a nice  .pcap file.

Wireshark tells me the same as the original poster is telling.


Here my further review:


There are 2 DHCP servers in the network,
one is the router at 192.168.1.1 and another one at 192.168.1.101.

The router hands out adress 192.168.1.100 the client
The other DHCPserver tells which file to use from which next server.

The client seems to mix both DHCP answers and continues.

pxelinux.bin is succesfull fetched

next is pxelinux.cfg/default fetched
with this content
| DEFAULT menu.c32
| PROMPT 0
| MENU TITLE Boot Menu
| TIMEOUT 80
| ONTIMEOUT ImageMgr
| 
| LABEL nfs
|  MENU LABEL Boot Local HDD
|  LOCALBOOT 0
| 
| LABEL ImageMgr
|  MENU LABEL Boot Windows (Image Manager, diskless)  kernel mPXEldr.bin keeppxe

Then there is a TFTP Read request for menu.c32 from the client
The server provides it, but the client is allready death.



    ....... some research .....

[1]


I think the culpritt is using pxelinux.bin for PXE booting.

This is from the syslinux documentation (in the released tarbal)

    The following commands are available after a LABEL statement:

    LINUX image                 - Linux kernel image (default)
    BOOT image                  - Bootstrap program (.bs, .bin)
    BSS image                   - BSS image (.bss)
    PXE image                   - PXE Network Bootstrap Program (.0)
    FDIMAGE image               - Floppy disk image (.img)
    COMBOOT image               - COMBOOT program (.com, .cbt)
    COM32 image                 - COM32 program (.c32)
    CONFIG image                - New configuration file


I couldn't find that on the syslinux webpages,
but on http://syslinux.zytor.com/wiki/index.php/PXELINUX
is pxelinux.0 used.


My advice: put pxelinux.0 on the TFTP server and change dhcpd.conf
something like  s/pxelinux.bin/pxelinux.0/


> Best!
> Phil


Looking forward for feedback

Geert Stappers
taking topqoutes as a slap in the face

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20090529/e4dce017/attachment.sig>


More information about the Syslinux mailing list