From 48639f074c31a53d30002ca7273d9c60c0e9490e Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Wed, 25 Jun 2025 12:01:47 +0200 Subject: [PATCH] boot/syslinux: add option to install lpxelinux lpxelinux is like pxelinux, except it allows retrieving the files for the kernel (with the KERNEL directive) and initrd (the path to initrd= in the APPEND directive) from FTP or HTTP, rather than just from TFTP. Using HTTP or FTP is musch faster than TFTP, so the boot time for big kernels or big initrds is much shorter than with TFTP. Signed-off-by: Yann E. MORIN [Julien: fix typo in commit title] Signed-off-by: Julien Olivain --- boot/syslinux/Config.in | 16 ++++++++++++++-- boot/syslinux/syslinux.mk | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in index 2891eae013..66baf921d3 100644 --- a/boot/syslinux/Config.in +++ b/boot/syslinux/Config.in @@ -4,6 +4,7 @@ menuconfig BR2_TARGET_SYSLINUX # Make sure at least one of the flavors is installed select BR2_TARGET_SYSLINUX_ISOLINUX \ if !BR2_TARGET_SYSLINUX_PXELINUX && \ + !BR2_TARGET_SYSLINUX_LPXELINUX && \ !BR2_TARGET_SYSLINUX_MBR && \ !BR2_TARGET_SYSLINUX_EFI select BR2_PACKAGE_UTIL_LINUX @@ -27,11 +28,22 @@ config BR2_TARGET_SYSLINUX_ISOLINUX optical media (CDROM, DVD.) config BR2_TARGET_SYSLINUX_PXELINUX - bool "install pxelinux" + bool "install pxelinux (TFTP-only)" select BR2_TARGET_SYSLINUX_LEGACY_BIOS help Install the legacy-BIOS 'pxelinux' image, to boot off - the network using PXE. + the network using PXE and TFTP. + +config BR2_TARGET_SYSLINUX_LPXELINUX + bool "install lpxelinux (TFTP, HTTP, FTP)" + select BR2_TARGET_SYSLINUX_LEGACY_BIOS + help + Install the legacy-BIOS 'lpxelinux' image, to boot off + the network using PXE, and TFTP, HTTP, or FTP. + + Note: a TFTP server is still required to serve the + lpxelinux boot image; HTTP or FTP can only be used + by lpxelinux to retrieve the kernel (and initrd...) config BR2_TARGET_SYSLINUX_MBR bool "install mbr" diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index 084acc398e..127f6b3cc1 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -105,6 +105,7 @@ SYSLINUX_POST_INSTALL_TARGET_HOOKS += SYSLINUX_POST_INSTALL_CLEANUP SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin +SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_LPXELINUX) += bios/core/lpxelinux.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_MBR) += bios/mbr/mbr.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_EFI) += $(SYSLINUX_EFI_BITS)/efi/syslinux.efi