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 <yann.morin@orange.com>
[Julien: fix typo in commit title]
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Yann E. MORIN
2025-06-25 12:01:47 +02:00
committed by Julien Olivain
parent 90e76818a1
commit 48639f074c
2 changed files with 15 additions and 2 deletions

View File

@@ -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"

View File

@@ -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