[syslinux] tftp file size limit: pxelinux.0 vs. syslinux.efi

John Z. Bohach jzb at z2zcorp.com
Mon Nov 28 06:15:38 PST 2016


I am pxebooting a large linux kernel (with embedded initramfs) that is around
250 MB in size.

When booting a board in legacy BIOS mode, the pxelinux.0 executable is
transferred to the board and takes over, from where loading and booting this
large kernel works as expected.  Actually, better than expected, as no tftp
file size limit is incurred.

If I change the BIOS settings to UEFI mode, then syslinux.efi is transferred
and takes over executing my menu, etc. just like pxelinux.0 did.  But then if
try to boot the same large linux kernel, board hangs during file transfer.

I've run a network analyzer on the tftp transfer, and can see that the
transfer stops after 65535 blocks have been transferred, which is the usual
limit for tftp.  I understand that this is a tftp limit.

However, this same limit is not encountered by pxelinux.0 and the entirety of
the large file makes it through just fine, and then proceeds to boot just fine.

Can someone please confirm if there is a known or intentional difference in
pxelinux.0 vs. syslinux.efi as far as tftp file size limits?


More information about the Syslinux mailing list