[Bug 6146] New: pxe/tftp sends pxelinux.0 to client with corrupted file name - client can't dowload file.

bugzilla at busybox.net bugzilla at busybox.net
Fri Mar 29 01:43:36 UTC 2013


https://bugs.busybox.net/show_bug.cgi?id=6146

           Summary: pxe/tftp sends pxelinux.0 to client with corrupted
                    file name - client can't dowload file.
           Product: Busybox
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: Networking
        AssignedTo: unassigned at busybox.net
        ReportedBy: glendon00 at gmail.com
                CC: busybox-cvs at busybox.net
   Estimated Hours: 0.0


PXE boot server is sending pxelinux.0 file name to PXE client with additional
"garbage" characters at the end of the name.


When some ROM-based PXE clients get the pxelinux.0 filename from PXE/tftp
server, the name has additional characters appended to the end of the file
name.  PXE boot fails with a File not found error message.  Other PXE clients
work fine when booting from the same server.

gPXE and iPXE will work for some clients whose boot ROM fails, but won't work
for others.

All clients PXE boot fine from a Debian Squeeze server using dnsmasq.  No
special setup was required to make it work.

I am using Tiny Core Linux 4.7.5.  Clean boot from live CD.  Run
tc-terminal-server script from Control Panel (or from CLI - same behavior).  
Standard settings used in response to TC-Terminal-Server script:

Boot device:    /dev/sda1
Shared IP range start: 192.168.0.11
Shared IP range end:   192.168.0.22
Netcard to use: eth0
DNS server:     192.168.0.1
Subnet:         255.255.255.0
Gateway:        192.168.0.1

The PXE/DHCP/tftp server starts and some clients PXE boot properly.  Others
will not PXE boot from ROM but will boot with gPXE (on some clients) or iPXE
(different clients) or either gPXE or iPXE (yet other clients).  Some clients
will not PXE boot with ROM or gPXE or iPXE.

Sample client that will not PXE (ROM) boot:
PXE Boot ROM:
Intel UNDI, PXE-2.0 Build 082
Realtek RTL8139 (A/B/C) RTL8030 Fast Ethernet controller V2.12 (010425)

Fragment of tcp trace of PXE boot:
ASCII:
../pxelinux.0.Q3*G.octet.tsize.0
Hex:
00 01 2F 70 78 65 6C 69 6E 75 78 2E 30 FF D1 33
2A 47 00 6F 63 74 65 74 00 74 73 69 7A 65 00 30

Notice the Q3*G after the name pxelinux.0.  This does not show up on PXE
clients when PXE booting from the Debian server running dnsmasq.  And all
clients can boot properly from the dnsmasq server.  From information I have
garnered on the Web this is a known problem.  One work-around proposed is to
use a symlink to the pxelinux.0 file, a method used in the Tiny Core Linux
tc-terminal-setup script.  Unfortunately, that does not always solve the
problem.

Ideally, the program should send the pxelinux.0 file name properly so that all
PXE clients can find the file and download it from the tftp server.  In
addition, it would be very good if there were some way to send the complete
file name to the client to make it that much easier for end users to define the
problem.

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the busybox-cvs mailing list