Browse Source

update u-boot to latest git. make it compilable for raspberry-pi target

Waldemar Brodkorb 9 years ago
parent
commit
55bade535d

+ 31 - 16
package/u-boot/Makefile

@@ -4,34 +4,49 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		u-boot
-PKG_VERSION:=		2014.07
+PKG_VERSION:=		d8bec60c1b0de7770f9b56ad092ab9be801d99af
 PKG_RELEASE:=		1
-PKG_HASH:=		b4f83b8db325c21671a997198ec3a373e2e00dde2fcf17be9b9afd7cfd727f56
-PKG_DESCR:=		bootloader
+PKG_HASH:=		f04993a54863849c123107509ebff5360c17fe04d3ca86242ae08b577653d415
+PKG_DESCR:=		portable bootloader
 PKG_SECTION:=		base/boot
 PKG_URL:=		http://www.denx.de/wiki/U-Boot	
-PKG_SITES:=		ftp://ftp.denx.de/pub/u-boot/
+PKG_SITES:=		git://git.denx.de/u-boot.git
 
-DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.bz2
-PKG_SYSTEM_DEPENDS:=	!cubox-i
-
-PKG_CFLINE_U_BOOT:=	depends on ADK_HOST_ONLY
+PKG_SYSTEM_DEPENDS:=	raspberry-pi
 
 include $(ADK_TOPDIR)/mk/host.mk
 include $(ADK_TOPDIR)/mk/package.mk
 
-$(eval $(call HOST_template,U_BOOT,u-boot,$(PKG_VERSION)-${PKG_RELEASE}))
+$(eval $(call HOST_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE)))
+$(eval $(call PKG_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
+CONFIG:=		rpi_defconfig
+endif
 
 HOST_STYLE:=		manual
-HOST_MAKE_FLAGS+=	HOST_TOOLS_ONLY=yes
+CONFIG_STYLE:=		manual
+BUILD_STYLE:=		manual
+INSTALL_STYLE:=		manual
 
 host-build:
-	(cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
-		${HOST_MAKE_FLAGS} tools $(MAKE_TRACE) )
+	(cd $(WRKBUILD) && $(MAKE) $(CONFIG))
+	(cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \
+		$(HOST_MAKE_FLAGS) tools $(MAKE_TRACE) )
 
 u-boot-hostinstall:
-	${INSTALL_BIN} ${WRKBUILD}/tools/mkimage \
-		${STAGING_HOST_DIR}/usr/bin
+	$(INSTALL_BIN) $(WRKBUILD)/tools/mkimage \
+		$(STAGING_HOST_DIR)/usr/bin
+
+do-configure:
+	(cd $(WRKBUILD) && $(MAKE) $(CONFIG))
+
+do-build:
+	(cd $(WRKBUILD) && env CROSS_COMPILE='$(TARGET_CROSS)' \
+		GCC_HONOUR_COPTS=s $(MAKE))
+
+u-boot-install:
+	$(CP) $(WRKBUILD)/u-boot $(FW_DIR)
 
-include ${ADK_TOPDIR}/mk/host-bottom.mk
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 0 - 45
package/u-boot/patches/patch-Kbuild

@@ -1,45 +0,0 @@
-Sometimes it is required to build only host U-Boot tools without building
-U-Boot itself for either board.
-
-For example:
- * In "buildroot" "uboot-tools" could be built for host just to have an ability
-   to create uImage.
- * Linux distributions ship "mkimage" utility as a separate substance.
-
-This patch allows building host U-Boot tools separately from U-Boot itself and
-what is more important user only needs to have host compiler (gcc).
-
-To build host tools just execute:
-=====
-make tools HOST_TOOLS_ONLY=yes
-=====
-
-Without this patch to generate tools user needs:
- 1. Configure any existing board with "make XXX_config"
- 2. Execute tools building but still cross-compiler will be invoked and if
-    there's no proper cross-compiler in PATH compilation will fail.
-
-Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
-
-Cc: Masahiro Yamada <yamada.m at jp.panasonic.com>
-Cc: Tom Rini <trini at ti.com>
-Cc: Simon Glass <sjg at chromium.org>
-
---- u-boot-2014.07.orig/Kbuild	2014-07-14 19:16:45.000000000 +0200
-+++ u-boot-2014.07/Kbuild	2014-08-11 10:06:13.311946939 +0200
-@@ -4,6 +4,9 @@
- # 1) Generate generic-asm-offsets.h
- # 2) Generate asm-offsets.h
- 
-+# Don't execute target below if building host tools only
-+ifneq ($(HOST_TOOLS_ONLY),yes)
-+
- #####
- # 1) Generate generic-asm-offsets.h
- 
-@@ -85,3 +88,5 @@ arch/$(ARCH)/lib/asm-offsets.s: arch/$(A
- 
- $(obj)/$(offsets-file): arch/$(ARCH)/lib/asm-offsets.s Kbuild
- 	$(call cmd,offsets)
-+
-+endif

+ 0 - 57
package/u-boot/patches/patch-Makefile

@@ -1,57 +0,0 @@
-Sometimes it is required to build only host U-Boot tools without building
-U-Boot itself for either board.
-
-For example:
- * In "buildroot" "uboot-tools" could be built for host just to have an ability
-   to create uImage.
- * Linux distributions ship "mkimage" utility as a separate substance.
-
-This patch allows building host U-Boot tools separately from U-Boot itself and
-what is more important user only needs to have host compiler (gcc).
-
-To build host tools just execute:
-=====
-make tools HOST_TOOLS_ONLY=yes
-=====
-
-Without this patch to generate tools user needs:
- 1. Configure any existing board with "make XXX_config"
- 2. Execute tools building but still cross-compiler will be invoked and if
-    there's no proper cross-compiler in PATH compilation will fail.
-
-Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
-
-Cc: Masahiro Yamada <yamada.m at jp.panasonic.com>
-Cc: Tom Rini <trini at ti.com>
-Cc: Simon Glass <sjg at chromium.org>
-
---- u-boot-2014.07.orig/Makefile	2014-07-14 19:16:45.000000000 +0200
-+++ u-boot-2014.07/Makefile	2014-08-11 10:06:13.315946952 +0200
-@@ -483,9 +483,12 @@ ifeq ($(dot-config),1)
- # load other configuration
- include $(srctree)/config.mk
- 
-+# Don't check for config.mk presence if building host tools only
-+ifneq ($(HOST_TOOLS_ONLY),yes)
- ifeq ($(wildcard include/config.mk),)
- $(error "System not configured - see README")
- endif
-+endif
- 
- # If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
- # that (or fail if absent).  Otherwise, search for a linker script in a
-@@ -1055,10 +1058,14 @@ ifeq ($(CONFIG_SYS_GENERIC_BOARD),y)
- 	@/bin/false
- endif
- endif
-+
-+# Don't check for ldscript presence if building host tools only
-+ifneq ($(HOST_TOOLS_ONLY),yes)
- ifeq ($(wildcard $(LDSCRIPT)),)
- 	@echo >&2 "  Could not find linker script."
- 	@/bin/false
- endif
-+endif
- 
- archprepare: prepare1 scripts_basic
- 

+ 8 - 0
package/u-boot/patches/patch-arch_arm_cpu_arm1176_config_mk

@@ -0,0 +1,8 @@
+--- u-boot-d8bec60c1b0de7770f9b56ad092ab9be801d99af.orig/arch/arm/cpu/arm1176/config.mk	2014-12-27 11:52:56.000000000 -0600
++++ u-boot-d8bec60c1b0de7770f9b56ad092ab9be801d99af/arch/arm/cpu/arm1176/config.mk	2014-12-27 12:27:09.407517499 -0600
+@@ -6,4 +6,4 @@
+ #
+ 
+ # Make ARMv5 to allow more compilers to work, even though its v6.
+-PLATFORM_CPPFLAGS += -march=armv5t
++PLATFORM_CPPFLAGS += -march=armv6

+ 0 - 10
package/u-boot/patches/patch-common_image_c

@@ -1,10 +0,0 @@
---- u-boot-2014.07.orig/common/image.c	2014-07-14 19:16:45.000000000 +0200
-+++ u-boot-2014.07/common/image.c	2014-08-11 13:41:05.204369615 +0200
-@@ -85,6 +85,7 @@ static const table_entry_t uimage_arch[]
- 	{	IH_ARCH_SANDBOX,	"sandbox",	"Sandbox",	},
- 	{	IH_ARCH_ARM64,		"arm64",	"AArch64",	},
- 	{	IH_ARCH_ARC,		"arc",		"ARC",		},
-+	{	IH_ARCH_XTENSA,		"xtensa",	"XTENSA",	},
- 	{	-1,			"",		"",		},
- };
- 

+ 0 - 10
package/u-boot/patches/patch-include_image_h

@@ -1,10 +0,0 @@
---- u-boot-2014.07.orig/include/image.h	2014-07-14 19:16:45.000000000 +0200
-+++ u-boot-2014.07/include/image.h	2014-08-11 13:46:36.186486117 +0200
-@@ -173,6 +173,7 @@ struct lmb;
- #define IH_ARCH_OPENRISC        21	/* OpenRISC 1000  */
- #define IH_ARCH_ARM64		22	/* ARM64	*/
- #define IH_ARCH_ARC		23	/* Synopsys DesignWare ARC */
-+#define IH_ARCH_XTENSA		24	/* Xtensa */
- 
- /*
-  * Image Types