Add support for building a few commonly used bootloaders
This commit is contained in:
parent
f5723cdb9b
commit
d7d57699ef
@ -6,6 +6,11 @@ source "target/jffs2/Config.in"
|
|||||||
source "target/squashfs/Config.in"
|
source "target/squashfs/Config.in"
|
||||||
source "target/tar/Config.in"
|
source "target/tar/Config.in"
|
||||||
|
|
||||||
|
source "target/x86/grub/Config.in"
|
||||||
|
source "target/x86/syslinux/Config.in"
|
||||||
|
source "target/powerpc/yaboot/Config.in"
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
source "target/device/Config.in"
|
source "target/device/Config.in"
|
||||||
|
|
||||||
|
6
target/powerpc/yaboot/Config.in
Normal file
6
target/powerpc/yaboot/Config.in
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
config BR2_TARGET_YABOOT
|
||||||
|
bool "grub bootloader"
|
||||||
|
default n
|
||||||
|
depends on BR2_powerpc
|
||||||
|
help
|
||||||
|
The yaboot bootloader for new world powerpc systems.
|
44
target/powerpc/yaboot/yaboot.mk
Normal file
44
target/powerpc/yaboot/yaboot.mk
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
ifeq ($(ARCH),powerpc)
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
#
|
||||||
|
# yaboot
|
||||||
|
#
|
||||||
|
#############################################################
|
||||||
|
|
||||||
|
YABOOT_SOURCE:=yaboot-1.3.13.tar.gz
|
||||||
|
YABOOT_SITE:=http://penguinppc.org/bootloaders/yaboot
|
||||||
|
YABOOT_DIR:=$(BUILD_DIR)/yaboot-1.3.13
|
||||||
|
|
||||||
|
$(DL_DIR)/$(YABOOT_SOURCE):
|
||||||
|
$(WGET) -P $(DL_DIR) $(YABOOT_SITE)/$(YABOOT_SOURCE)
|
||||||
|
|
||||||
|
yaboot-source: $(DL_DIR)/$(YABOOT_SOURCE)
|
||||||
|
|
||||||
|
$(YABOOT_DIR)/Makefile: $(DL_DIR)/$(YABOOT_SOURCE)
|
||||||
|
zcat $(DL_DIR)/$(YABOOT_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||||
|
touch -c $(YABOOT_DIR)/Makefile
|
||||||
|
|
||||||
|
$(YABOOT_DIR)/second/yaboot: $(YABOOT_DIR)/Makefile
|
||||||
|
make -C $(YABOOT_DIR) CROSS=$(TARGET_CROSS)
|
||||||
|
touch -c $(YABOOT_DIR)/second/yaboot
|
||||||
|
|
||||||
|
yaboot: $(YABOOT_DIR)/second/yaboot
|
||||||
|
|
||||||
|
yaboot-clean:
|
||||||
|
make -C $(YABOOT_DIR) clean
|
||||||
|
|
||||||
|
yaboot-dirclean:
|
||||||
|
rm -rf $(YABOOT_DIR)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
#
|
||||||
|
# Toplevel Makefile options
|
||||||
|
#
|
||||||
|
#############################################################
|
||||||
|
ifeq ($(strip $(BR2_TARGET_YABOOT)),y)
|
||||||
|
TARGETS+=yaboot
|
||||||
|
endif
|
||||||
|
|
6
target/x86/grub/Config.in
Normal file
6
target/x86/grub/Config.in
Normal file
@ -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.
|
70
target/x86/grub/grub.mk
Normal file
70
target/x86/grub/grub.mk
Normal file
@ -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
|
6
target/x86/syslinux/Config.in
Normal file
6
target/x86/syslinux/Config.in
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
config BR2_TARGET_SYSLINUX
|
||||||
|
bool "syslinux bootloader"
|
||||||
|
default n
|
||||||
|
depends on BR2_i386
|
||||||
|
help
|
||||||
|
The syslinux bootloader for x86 systems.
|
40
target/x86/syslinux/syslinux.mk
Normal file
40
target/x86/syslinux/syslinux.mk
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user