bootloaders: move bootloader build code to boot/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
12
boot/syslinux/Config.in
Normal file
12
boot/syslinux/Config.in
Normal file
@@ -0,0 +1,12 @@
|
||||
config BR2_TARGET_SYSLINUX
|
||||
bool "syslinux"
|
||||
depends on BR2_i386
|
||||
help
|
||||
The syslinux bootloader for x86 systems.
|
||||
This includes: syslinux, pxelinux, extlinux.
|
||||
|
||||
config BR2_TARGET_PXELINUX
|
||||
bool "pxelinux"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
help
|
||||
The pxelinux loader for x86 systems.
|
||||
11
boot/syslinux/syslinux-3.82-makefile.patch
Normal file
11
boot/syslinux/syslinux-3.82-makefile.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- syslinux-3.82-org/Makefile 2009-09-17 13:11:23.000000000 +0200
|
||||
+++ syslinux-3.82/Makefile 2009-09-17 13:13:32.000000000 +0200
|
||||
@@ -42,7 +42,7 @@
|
||||
mbr/mbr_c.bin mbr/altmbr_c.bin mbr/gptmbr_c.bin \
|
||||
mbr/mbr_f.bin mbr/altmbr_f.bin mbr/gptmbr_f.bin \
|
||||
core/pxelinux.0 core/isolinux.bin core/isolinux-debug.bin \
|
||||
- gpxe/gpxelinux.0 dos/syslinux.com win32/syslinux.exe \
|
||||
+ gpxe/gpxelinux.0 dos/syslinux.com \
|
||||
$(MODULES)
|
||||
|
||||
# BSUBDIRs build the on-target binary components.
|
||||
70
boot/syslinux/syslinux.mk
Normal file
70
boot/syslinux/syslinux.mk
Normal file
@@ -0,0 +1,70 @@
|
||||
SYSLINUX_SUPPORTED_ARCH=n
|
||||
ifeq ($(ARCH),i386)
|
||||
SYSLINUX_SUPPORTED_ARCH=y
|
||||
endif
|
||||
ifeq ($(ARCH),i486)
|
||||
SYSLINUX_SUPPORTED_ARCH=y
|
||||
endif
|
||||
ifeq ($(ARCH),i586)
|
||||
SYSLINUX_SUPPORTED_ARCH=y
|
||||
endif
|
||||
ifeq ($(ARCH),i686)
|
||||
SYSLINUX_SUPPORTED_ARCH=y
|
||||
endif
|
||||
ifeq ($(ARCH),x86_64)
|
||||
SYSLINUX_SUPPORTED_ARCH=y
|
||||
endif
|
||||
ifeq ($(SYSLINUX_SUPPORTED_ARCH),y)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# syslinux to make target msdos/iso9660 filesystems bootable
|
||||
#
|
||||
#############################################################
|
||||
|
||||
SYSLINUX_VERSION:=3.82
|
||||
SYSLINUX_DIR=$(BUILD_DIR)/syslinux-$(SYSLINUX_VERSION)
|
||||
SYSLINUX_DIR2=$(TOOLCHAIN_DIR)/syslinux-$(SYSLINUX_VERSION)
|
||||
SYSLINUX_SOURCE=syslinux-$(SYSLINUX_VERSION).tar.bz2
|
||||
SYSLINUX_CAT:=$(BZCAT)
|
||||
SYSLINUX_SITE=$(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/
|
||||
SYSLINUX_BIN=$(SYSLINUX_DIR2)/mtools/syslinux
|
||||
|
||||
|
||||
$(DL_DIR)/$(SYSLINUX_SOURCE):
|
||||
$(call DOWNLOAD,$(SYSLINUX_SITE),$(SYSLINUX_SOURCE))
|
||||
|
||||
syslinux-source: $(DL_DIR)/$(SYSLINUX_SOURCE)
|
||||
|
||||
$(SYSLINUX_DIR)/Makefile: $(DL_DIR)/$(SYSLINUX_SOURCE) $(SYSLINUX_PATCH)
|
||||
$(SYSLINUX_CAT) $(DL_DIR)/$(SYSLINUX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
toolchain/patch-kernel.sh $(SYSLINUX_DIR) boot/syslinux/ \*.patch
|
||||
touch -c $@
|
||||
|
||||
$(SYSLINUX_DIR)/isolinux.bin $(SYSLINUX_DIR)/pxelinux.bin: $(SYSLINUX_DIR)/Makefile
|
||||
$(MAKE) CC="$(HOSTCC)" AR="$(HOSTAR)" -C $(SYSLINUX_DIR)
|
||||
touch -c $@
|
||||
|
||||
syslinux: $(SYSLINUX_DIR)/isolinux.bin
|
||||
pxelinux: $(SYSLINUX_DIR)/pxelinux.bin
|
||||
|
||||
pxelinux-clean syslinux-clean:
|
||||
rm -f $(SYSLINUX_DIR)/isolinux.bin $(SYSLINUX_DIR)/pxelinux.bin
|
||||
-$(MAKE) -C $(SYSLINUX_DIR) clean
|
||||
|
||||
pxelinux-dirclean syslinux-dirclean:
|
||||
rm -rf $(SYSLINUX_DIR)
|
||||
|
||||
endif
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Toplevel Makefile options
|
||||
#
|
||||
#############################################################
|
||||
ifeq ($(BR2_TARGET_SYSLINUX),y)
|
||||
TARGETS+=syslinux
|
||||
endif
|
||||
ifeq ($(BR2_TARGET_PXELINUX),y)
|
||||
TARGETS+=pxelinux
|
||||
endif
|
||||
Reference in New Issue
Block a user