[syslinux] intermittent pxe failure
Geert Stappers
stappers at stappers.nl
Mon May 7 13:39:12 PDT 2007
Op 05-05-2007 om 00:49 schreef Larry Howe:
<snip/>
> - happens rarely, but when it does it affects all clients. May last for an
> hour or so when it happens.
Gut feeling:
a TFTP daemon that is started by inetd and stays live that hour
(why the TFTPd handles vmlinuz, but not the initrd is indeed strange)
> Question: what code is responsible for downloading vmlinuz, and which code is
> responsible for downloading initrd? Is it the pxe firmware, or pxelinux
> itself?
Briefly:
bootROM downloads and starts 'pxelinux.0'
pxelinux.0 downloads and parses "pxelinux.cfg/default"
pxelinux.0 downloads _both_ vmlinuz and initrd.
all three use the same 'get_a_network_packet' software routine in the PXE ROM
pxelinux.0 starts vmlinuz
vmlinuz searches initrd (in download memory) and reads from it.
> What happens between the vmlinuz download and the initrd download?
Sorry, I don't know (for sure)
> Any network activity that could potentially lead to a failure?
Only malicious network activity ( which is poorly documented ;-)
> Is this activity logged anywhere?
IIRC get the TFTP requests in the syslog, you might need -v -v -v
parameters.
> Any suggestions welcome!
tcpdump the TFTP server on the TFTP port.
Watching only on port 69 will get you only the TFTP Requests.
That has two advantages:
* low disk usage,which makes monitoring for weeks possible
* you should if the client really requests the initrd.
> Larry
Cheers
Geert Stappers
P.S.
From http://www.nabble.com/intermittent-pxe-failure-t3655353.html
| Am I right in assuming that PXE loads vmlinuz, but then vmlinuz loads initrd?
No. pxelinux loads both.
More information about the Syslinux
mailing list