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

Ady Ady ady-sf at hotmail.com
Mon Nov 28 09:33:57 PST 2016


> Hello,
> 
> 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?
> 
> Thanks,
> John
 
 
Questions that might be relevant:

Which version of Syslinux? Pre-built official binaries from kernel.org? 
Or from some package? Or your own build?

Have you tried using the pre-built (no 'make') official binaries 
included in 6.04-pre1?

Have you tried booting the same kernel by means of another UEFI-capable 
bootloader?

Have you tried using http instead of tftp?

Generic reminders (which might not be relevant in this particular 
case):

_ All files shall be provided by the same exact version/build; 
including the bootloader file, the core module (ldlinux.*) and the c32 
modules from the relevant platform (bios / efi32 / efi64). Mixing files 
from different builds / versions will result in unexpected behavior.

_ Double check that the c32 modules being used are really pertinent to 
the relevant platform (e.g. not using menu.c32 for BIOS in order to try 
to boot EFI64).

_ Relevant library modules should be present when they are needed.

Regards,
Ady.


> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux





More information about the Syslinux mailing list