Keith Grider
2017-Feb-22 16:45 UTC
[syslinux] tftp file size limit: pxelinux.0 vs. syslinux.efi
> > On 11/28/16 06:15, John Z. Bohach via Syslinux wrote: > >* 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? > *> > No, it is not. The TFTP limit is unofficially exceeded by allowing the > block numbers to wrap. I'm not sure why UEFI would behave differently > in that respect. > > However, the best would be if you could use HTTP instead of TFTP, which > should always be available when booted off UEFI. You will likely get > much higher transfer rates in addition to avoiding these kinds of limits. > > -hpa > > I have run into the same issue. I am running 6.04_pre. I experienced thesame behavior with 6.03. I have been using legacy PXE to boot a live ububtu image for installation on machnies. I recently received a new uefi machine and want to get it to boot UEFI instead of legacy. I re-organized my directory structure on the tftp server to be able to use either efi64 or legacy and get a menu from either one. The live image will boot with legacy just fine. When I try to boot it from uefi, It hangs. I can try building the current git if that may help diagnosis. I get this same behavior from 2 different machines. The reason I want it to boot using UEFI is that after the installation, ubuntu/debian will install an incorrect grub if it is a UEFI booting machine which is booted from legacy PXE. Thanks! KeithG
Apparently Analagous Threads
- tftp file size limit: pxelinux.0 vs. syslinux.efi
- tftp file size limit: pxelinux.0 vs. syslinux.efi
- tftp file size limit: pxelinux.0 vs. syslinux.efi
- tftp file size limit: pxelinux.0 vs. syslinux.efi
- pxelinux.0 not fully booting in EFI 64 mode...not requesting ldlinux.e64 via TFTP...