diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2010-06-12 13:18:04 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2010-06-12 13:23:48 +0200 |
commit | f15702a97f2c614840b687cae80df127433d1b44 (patch) | |
tree | 06180ffafac5c225f60b4f5542bb810f5a55d998 | |
parent | 6db01c1b3091aec8c0131f0f559daabb27e78c1c (diff) |
u-boot: re-add infrastructure to specify custom tarball
The bootloader being very specific to the hardware, being able to
build U-Boot from an arbitrary tarball available on the web might be
needed.
Therefore, for U-Boot, we provide two methods :
* Get a given stable version from U-Boot official FTP server
* Get an arbitrary tarball
This should hopefully satisfy most needs, without complicating too
much the U-Boot build procedure on Buildroot side.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | boot/u-boot/Config.in | 11 | ||||
-rw-r--r-- | boot/u-boot/u-boot.mk | 16 |
2 files changed, 23 insertions, 4 deletions
diff --git a/boot/u-boot/Config.in b/boot/u-boot/Config.in index a4f5fd954..79c5c3da7 100644 --- a/boot/u-boot/Config.in +++ b/boot/u-boot/Config.in @@ -25,13 +25,24 @@ config BR2_TARGET_UBOOT_2009_11 config BR2_TARGET_UBOOT_2009_08 bool "u-boot-2009.08" +config BR2_TARGET_UBOOT_CUSTOM_TARBALL + bool "Custom tarball" + endchoice +if BR2_TARGET_UBOOT_CUSTOM_TARBALL + +config BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION + string "URL of custom U-Boot tarball" + +endif + config BR2_UBOOT_VERSION string default "2010.03" if BR2_TARGET_UBOOT_2010_03 default "2009.11" if BR2_TARGET_UBOOT_2009_11 default "2009.08" if BR2_TARGET_UBOOT_2009_08 + default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR string "custom patch dir" diff --git a/boot/u-boot/u-boot.mk b/boot/u-boot/u-boot.mk index 90a45b87f..ee566112f 100644 --- a/boot/u-boot/u-boot.mk +++ b/boot/u-boot/u-boot.mk @@ -14,9 +14,17 @@ ifeq ($(U_BOOT_VERSION),) U_BOOT_VERSION=2010.03 endif +ifeq ($(U_BOOT_VERSION),custom) +# Handle custom U-Boot tarballs as specified by the configuration +U_BOOT_TARBALL=$(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION)) +U_BOOT_SITE:=$(dir $(U_BOOT_TARBALL)) +U_BOOT_SOURCE:=$(notdir $(U_BOOT_TARBALL)) +else +# Handle stable official U-Boot versions +U_BOOT_SITE:=ftp://ftp.denx.de/pub/u-boot U_BOOT_SOURCE:=u-boot-$(U_BOOT_VERSION).tar.bz2 +endif -U_BOOT_SITE:=ftp://ftp.denx.de/pub/u-boot U_BOOT_DIR:=$(BUILD_DIR)/u-boot-$(U_BOOT_VERSION) U_BOOT_CAT:=$(BZCAT) U_BOOT_BIN:=u-boot.bin @@ -51,9 +59,9 @@ $(DL_DIR)/$(U_BOOT_SOURCE): $(call DOWNLOAD,$(U_BOOT_SITE),$(U_BOOT_SOURCE)) $(U_BOOT_DIR)/.unpacked: $(DL_DIR)/$(U_BOOT_SOURCE) - $(U_BOOT_CAT) $(DL_DIR)/$(U_BOOT_SOURCE) \ - | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - mkdir -p $(U_BOOT_DIR) + mkdir -p $(@D) + $(INFLATE$(suffix $(U_BOOT_SOURCE))) $(DL_DIR)/$(U_BOOT_SOURCE) \ + | tar $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) - touch $@ $(U_BOOT_DIR)/.patched: $(U_BOOT_DIR)/.unpacked |