diff options
author | Eric Andersen <andersen@codepoet.org> | 2005-06-23 05:09:05 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2005-06-23 05:09:05 +0000 |
commit | d7d57699ef83cce36d87bef73c9e1fbdc765a64c (patch) | |
tree | e43edbfd5eaaadf7acd1237081dce715d1ea0a57 /target/x86 | |
parent | f5723cdb9b3d899278a56368c9bec89a2e51d800 (diff) |
Add support for building a few commonly used bootloaders
Diffstat (limited to 'target/x86')
-rw-r--r-- | target/x86/grub/Config.in | 6 | ||||
-rw-r--r-- | target/x86/grub/grub.mk | 70 | ||||
-rw-r--r-- | target/x86/syslinux/Config.in | 6 | ||||
-rw-r--r-- | target/x86/syslinux/syslinux.mk | 40 |
4 files changed, 122 insertions, 0 deletions
diff --git a/target/x86/grub/Config.in b/target/x86/grub/Config.in new file mode 100644 index 000000000..2dc241a23 --- /dev/null +++ b/target/x86/grub/Config.in @@ -0,0 +1,6 @@ +config BR2_TARGET_GRUB + bool "grub bootloader" + default n + depends on BR2_i386 + help + The GRand Unified Bootloader for x86 systems. diff --git a/target/x86/grub/grub.mk b/target/x86/grub/grub.mk new file mode 100644 index 000000000..bac341814 --- /dev/null +++ b/target/x86/grub/grub.mk @@ -0,0 +1,70 @@ +ifeq ($(ARCH),i386) +############################################################# +# +# grub +# +############################################################# +GRUB_SOURCE:=grub_0.95+cvs20040624.orig.tar.gz +GRUB_PATCH=grub_0.95+cvs20040624-17.diff.gz +GRUB_SITE=http://ftp.debian.org/debian/pool/main/g/grub +GRUB_CAT:=zcat +GRUB_DIR:=$(BUILD_DIR)/grub-0.95+cvs20040624 +GRUB_BINARY:=grub/grub +GRUB_TARGET_BINARY:=bin/grub + +$(DL_DIR)/$(GRUB_SOURCE): + $(WGET) -P $(DL_DIR) $(GRUB_SITE)/$(GRUB_SOURCE) + +$(DL_DIR)/$(GRUB_PATCH): + $(WGET) -P $(DL_DIR) $(GRUB_SITE)/$(GRUB_PATCH) + +grub-source: $(DL_DIR)/$(GRUB_SOURCE) $(DL_DIR)/$(GRUB_PATCH) + +$(GRUB_DIR)/.unpacked: $(DL_DIR)/$(GRUB_SOURCE) $(DL_DIR)/$(GRUB_PATCH) + $(GRUB_CAT) $(DL_DIR)/$(GRUB_SOURCE) | tar -C $(BUILD_DIR) -xvf - + $(GRUB_CAT) $(DL_DIR)/$(GRUB_PATCH) | patch -p1 -d $(GRUB_DIR) + for i in `cat $(GRUB_DIR)/debian/patches/00list`; do \ + cat $(GRUB_DIR)/debian/patches/$$i | patch -p1 -d $(GRUB_DIR); \ + done + touch $(GRUB_DIR)/.unpacked + +$(GRUB_DIR)/.configured: $(GRUB_DIR)/.unpacked + (cd $(GRUB_DIR); rm -rf config.cache; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + CPPFLAGS="$(GRUB_CFLAGS)" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/ \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --disable-auto-linux-mem-opt \ + ); + touch $(GRUB_DIR)/.configured + +$(GRUB_DIR)/$(GRUB_BINARY): $(GRUB_DIR)/.configured + $(MAKE) CC=$(TARGET_CC) -C $(GRUB_DIR) + +grub-target_binary: $(GRUB_DIR)/$(GRUB_BINARY) + +grub: grub-target_binary + +grub-clean: + $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GRUB_DIR) uninstall + -grub -C $(GRUB_DIR) clean + +grub-dirclean: + rm -rf $(GRUB_DIR) + +endif + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_TARGET_GRUB)),y) +TARGETS+=grub +endif diff --git a/target/x86/syslinux/Config.in b/target/x86/syslinux/Config.in new file mode 100644 index 000000000..98465fcd7 --- /dev/null +++ b/target/x86/syslinux/Config.in @@ -0,0 +1,6 @@ +config BR2_TARGET_SYSLINUX + bool "syslinux bootloader" + default n + depends on BR2_i386 + help + The syslinux bootloader for x86 systems. diff --git a/target/x86/syslinux/syslinux.mk b/target/x86/syslinux/syslinux.mk new file mode 100644 index 000000000..05092ac57 --- /dev/null +++ b/target/x86/syslinux/syslinux.mk @@ -0,0 +1,40 @@ +ifeq ($(ARCH),i386) +############################################################# +# +# syslinux to make target msdos/iso9660 filesystems bootable +# +############################################################# + +SYSLINUX_DIR=$(BUILD_DIR)/syslinux-3.09 +SYSLINUX_SOURCE=syslinux-3.09.tar.bz2 +SYSLINUX_SITE=http://www.kernel.org/pub/linux/utils/boot/syslinux/ + +$(DL_DIR)/$(SYSLINUX_SOURCE): + $(WGET) -P $(DL_DIR) $(SYSLINUX_SITE)/$(SYSLINUX_SOURCE) + +$(SYSLINUX_DIR)/Makefile: $(DL_DIR)/$(SYSLINUX_SOURCE) $(SYSLINUX_PATCH) + bzcat $(DL_DIR)/$(SYSLINUX_SOURCE) | tar -C $(BUILD_DIR) -xvf - + touch -c $(SYSLINUX_DIR)/Makefile + +$(SYSLINUX_DIR)/isolinux.bin: $(SYSLINUX_DIR)/Makefile + $(MAKE) -C $(SYSLINUX_DIR) + touch -c $(SYSLINUX_DIR)/isolinux.bin + +syslinux: $(SYSLINUX_DIR)/isolinux.bin + +syslinux-clean: + -make -C $(SYSLINUX_DIR) clean + +syslinux-dirclean: + rm -rf $(SYSLINUX_DIR) + +endif + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_TARGET_SYSLINUX)),y) +TARGETS+=syslinux +endif |