diff options
Diffstat (limited to 'boot/syslinux')
-rw-r--r-- | boot/syslinux/Config.in | 12 | ||||
-rw-r--r-- | boot/syslinux/syslinux-3.82-makefile.patch | 11 | ||||
-rw-r--r-- | boot/syslinux/syslinux.mk | 70 |
3 files changed, 93 insertions, 0 deletions
diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in new file mode 100644 index 000000000..c65bc1f10 --- /dev/null +++ b/boot/syslinux/Config.in @@ -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. diff --git a/boot/syslinux/syslinux-3.82-makefile.patch b/boot/syslinux/syslinux-3.82-makefile.patch new file mode 100644 index 000000000..9e98a7879 --- /dev/null +++ b/boot/syslinux/syslinux-3.82-makefile.patch @@ -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. diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk new file mode 100644 index 000000000..df27b6d8f --- /dev/null +++ b/boot/syslinux/syslinux.mk @@ -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 |