Skip to contentSkip to conversation

boot/uboot: bump to version 2015.04

PATCH New Jörg Krause 3 participants 8 messages Apr 18, 2015 – Apr 19, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 boot/uboot: bump to version 2015.04

---
 boot/uboot/Config.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
boot/uboot/Config.in +2 -2
index 03e6acc..7cf695c 100644
@@ -18,7 +18,7 @@ choice
 	  Select the specific U-Boot version you want to use
 
 config BR2_TARGET_UBOOT_LATEST_VERSION
-	bool "2015.01"
+	bool "2015.04"
 
 config BR2_TARGET_UBOOT_CUSTOM_VERSION
 	bool "Custom version"
@@ -63,7 +63,7 @@ endif
 
 config BR2_TARGET_UBOOT_VERSION
 	string
-	default "2015.01"	if BR2_TARGET_UBOOT_LATEST_VERSION
+	default "2015.04"	if BR2_TARGET_UBOOT_LATEST_VERSION
 	default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \
 		if BR2_TARGET_UBOOT_CUSTOM_VERSION
 	default "custom"	if BR2_TARGET_UBOOT_CUSTOM_TARBALL
Signature · 1 line
2.3.5
#1 lore raw

PATCH 2/4 boot/uboot: add hash file

---
 boot/uboot/uboot.hash | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 boot/uboot/uboot.hash
boot/uboot/uboot.hash new file +2 -0
new file mode 100644
index 0000000..9cc96f6
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256	0a1a70df586655f527befa6f12e184e96ed61b126e5a567382321b17200f5d60  u-boot-2015.04.tar.bz2
Signature · 1 line
2.3.5
#2 lore raw

PATCH 2/4 boot/uboot: add hash file

Dear J?rg Krause,

Quoted 5 lines · J?rg Krause
---
 boot/uboot/uboot.hash | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 boot/uboot/uboot.hash

Applied, thanks.

Once the hashes become mandatory, we'll have to take care of this package, since the user might download custom tarball / git version, which will not match the hash provided in the hash file. Cc'ed Yann on this.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 2/4 boot/uboot: add hash file

Thomas, J?rg, All,

On 2015-04-19 10:08 +0200, Thomas Petazzoni spake thusly:

Quoted 7 lines · J?rg Krause
Quoted 5 lines
---
 boot/uboot/uboot.hash | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 boot/uboot/uboot.hash
Quoted 6 lines

Applied, thanks.

Once the hashes become mandatory, we'll have to take care of this package, since the user might download custom tarball / git version, which will not match the hash provided in the hash file. Cc'ed Yann on this.

OK, I'll consider this for my series making them mandatory. Thanks for the heads-up.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH 3/4 boot/uboot: add support for the kconfig infrastructure

In reply to Jörg Krause

With the patchset "kconfig: turnaround into single .config" [1] U-Boot switched to a single .config file for board configuration. This allows us to use the kconfig-package infrastructure.

For providing backward compatibility with older U-Boot version a user choice between the new Kconfig and the legacy build system is introduced. Kconfig is chosen as the default build system.

This patch supersedes
"boot/uboot: Add support for Kbuild & Kconfig build system" [2]

[1] http://lists.denx.de/pipermail/u-boot/2015-February/205490.html
[2] http://patchwork.ozlabs.org/patch/436498/

---
 boot/uboot/Config.in | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 boot/uboot/uboot.mk  | 28 ++++++++++++++++++++++++++--
 2 files changed, 74 insertions(+), 2 deletions(-)
boot/uboot/Config.in +48 -0
index 7cf695c..f44c3de 100644
@@ -4,6 +4,26 @@ config BR2_TARGET_UBOOT
 	  Build "Das U-Boot" Boot Monitor
 
 if BR2_TARGET_UBOOT
+choice
+	prompt "Build system"
+	default BR2_TARGET_UBOOT_BUILD_SYSTEM_KBUILD
+
+config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
+	bool "Legacy"
+	help
+	  Select this option if you use an old U-Boot (older than 2014.10),
+	  so that we use the old build system.
+
+config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
+	bool "Kconfig"
+	default y
+	help
+	  Select this option if you use a recent U-Boot version (2015.04 or
+	  newer), so that we use the Kconfig build system.
+
+endchoice
+
+if BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
 config BR2_TARGET_UBOOT_BOARDNAME
 	string "U-Boot board name"
 	help
@@ -11,6 +31,7 @@ config BR2_TARGET_UBOOT_BOARDNAME
 	  This will be suffixed with _config to meet U-Boot standard naming.
 	  See boards.cfg in U-Boot source code for the list of available
 	  configurations.
+endif
 
 choice
 	prompt "U-Boot Version"
@@ -79,6 +100,33 @@ config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
 
 	  Most users may leave this empty
 
+if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
+choice
+	prompt "U-Boot configuration"
+	default BR2_TARGET_UBOOT_USE_DEFCONFIG
+
+config BR2_TARGET_UBOOT_USE_DEFCONFIG
+	bool "Using an in-tree board defconfig file"
+
+config BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
+	bool "Using a custom board (def)config file"
+
+endchoice
+
+config BR2_TARGET_UBOOT_BOARD_DEFCONFIG
+	string "Board defconfig"
+	depends on BR2_TARGET_UBOOT_USE_DEFCONFIG
+	help
+	  Name of the board for which U-Boot should be built, without
+	  the _defconfig suffix.
+
+config BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE
+	string "Configuration file path"
+	depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
+	help
+	  Path to the U-Boot configuration file.
+endif
+
 choice
 	prompt "U-Boot binary format"
 	default BR2_TARGET_UBOOT_FORMAT_BIN
boot/uboot/uboot.mk +26 -2
index a9ba054..941b721 100644
@@ -93,6 +93,7 @@ endef
 UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_CUSTOM_PATCHES
 endif
 
+ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
 define UBOOT_CONFIGURE_CMDS
 	$(TARGET_CONFIGURE_OPTS) 	\
 		$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS)		\
@@ -111,6 +112,18 @@ define UBOOT_CONFIGURE_CMDS
 	$(call insert_define,CONFIG_ETH1ADDR,$(BR2_TARGET_UBOOT_ETH1ADDR))
 	@echo "#endif /* __BR2_ADDED_CONFIG_H */" >> $(@D)/include/config.h
 endef
+else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y)
+ifeq ($(BR2_TARGET_UBOOT_USE_DEFCONFIG),y)
+UBOOT_SOURCE_CONFIG = $(UBOOT_DIR)/configs/$(call qstrip,\
+	$(BR2_TARGET_UBOOT_BOARD_DEFCONFIG))_defconfig
+else ifeq ($(BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG),y)
+UBOOT_SOURCE_CONFIG = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE))
+endif # BR2_TARGET_UBOOT_USE_DEFCONFIG
+
+UBOOT_KCONFIG_FILE = $(UBOOT_SOURCE_CONFIG)
+UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
+UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS)
+endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
 
 define UBOOT_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS) 	\
@@ -165,14 +178,25 @@ endif
 UBOOT_DEPENDENCIES += host-uboot-tools
 endif
 
+ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
 $(eval $(generic-package))
+else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y)
+$(eval $(kconfig-package))
+endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
 
 ifeq ($(BR2_TARGET_UBOOT),y)
 # we NEED a board name unless we're at make source
 ifeq ($(filter source,$(MAKECMDGOALS)),)
+
+ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
 ifeq ($(UBOOT_BOARD_NAME),)
-$(error NO U-Boot board name set. Check your BR2_TARGET_UBOOT_BOARDNAME setting)
-endif
+$(error No U-Boot board name set. Check your BR2_TARGET_UBOOT_BOARDNAME setting)
+endif # UBOOT_BOARD_NAME
+else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y)
+ifeq ($(UBOOT_SOURCE_CONFIG),)
+$(error No U-Boot config file. Check your BR2_TARGET_UBOOT_BOARD_DEFCONFIG or BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE settings)
+endif # UBOOT_SOURCE_CONFIG
+endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
 
 ifeq ($(BR2_TARGET_UBOOT_CUSTOM_VERSION),y)
 ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE)),)
Signature · 1 line
2.3.5
#5 lore raw

PATCH 3/4 boot/uboot: add support for the kconfig infrastructure

Dear J?rg Krause,

Quoted 8 lines · J?rg Krause

With the patchset "kconfig: turnaround into single .config" [1] U-Boot switched to a single .config file for board configuration. This allows us to use the kconfig-package infrastructure.

For providing backward compatibility with older U-Boot version a user choice between the new Kconfig and the legacy build system is introduced. Kconfig is chosen as the default build system.

Quoted 7 lines

This patch supersedes
"boot/uboot: Add support for Kbuild & Kconfig build system" [2]

[1] http://lists.denx.de/pipermail/u-boot/2015-February/205490.html
[2] http://patchwork.ozlabs.org/patch/436498/

This patch does not apply. Can you refresh it on the latest master?

Also, some comments below.

Quoted 4 lines

if BR2_TARGET_UBOOT

boot/uboot/Config.in +3 -0
+choice
+	prompt "Build system"
+	default BR2_TARGET_UBOOT_BUILD_SYSTEM_KBUILD

boot/uboot/Config.in config BR2_TARGET_UBOOT · line 19

Quoted 10 lines
boot/uboot/Config.in +10 -0
+
+config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
+	bool "Legacy"
+	help
+	  Select this option if you use an old U-Boot (older than 2014.10),
+	  so that we use the old build system.
+
+config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
+	bool "Kconfig"
+	default y

Not needed.

boot/uboot/Config.in config BR2_TARGET_UBOOT · line 22

Quoted 3 lines
boot/uboot/Config.in +3 -0
+	help
+	  Select this option if you use a recent U-Boot version (2015.04 or
+	  newer), so that we use the Kconfig build system.

Something is unclear: legacy build system is for U-Boot older than 2014.10, and Kconfig is for U-Boot newer than 2015.04. What happens for Buildroot versions in between, such as 2015.01 ?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH 4/4 docs/manual: add U-Boot configuration

In reply to Jörg Krause

Add the new Kconfig configuration help text for U-Boot to the manual.

---
 docs/manual/configure-other-components.txt | 8 ++++++++
 docs/manual/customize-configuration.txt    | 6 ++++--
 docs/manual/customize-quick-guide.txt      | 2 ++
 docs/manual/make-tips.txt                  | 2 ++
 4 files changed, 16 insertions(+), 2 deletions(-)
docs/manual/configure-other-components.txt +8 -0
index deb1fa2..60a80f0 100644
@@ -50,3 +50,11 @@ kernel. The corresponding configuration variables are
 +BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG+ and
 +BR2_TARGET_BAREBOX_USE_DEFCONFIG+. To open the configuration editor,
 use +make barebox-menuconfig+.
+
+U-Boot::
++
+Configuration of U-Boot (version 2015.04 or newer) is done in the same
+way as for the Linux kernel. The corresponding configuration variables
+are +BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG+ and
++BR2_TARGET_UBOOT_USE_DEFCONFIG+. To open the configuration editor,
+use +make uboot-menuconfig+.
docs/manual/customize-configuration.txt +4 -2
index 6224d40..ae6cebe 100644
@@ -24,8 +24,8 @@ Alternatively, you can copy the file to any other place and rebuild with
 [[customize-store-package-config]]
 === Storing the configuration of other components
 
-The configuration files for BusyBox, the Linux kernel, Barebox and
-uClibc should be stored as well if changed. For each of these
+The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot
+and uClibc should be stored as well if changed. For each of these
 components, a Buildroot configuration option exists to point to an input
 configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store
 their configuration, set these configuration options to a path where you
@@ -56,6 +56,8 @@ configuration files easier.
   path specified by +BR2_UCLIBC_CONFIG+.
 * +make barebox-update-defconfig+ saves the barebox configuration to the
   path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+.
+* +make uboot-update-defconfig+ saves the U-Boot configuration to the
+  path specified by +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+.
 * For at91bootstrap3, no helper exists so you have to copy the config
   file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+.
 
docs/manual/customize-quick-guide.txt +2 -0
index 4ff185a..627ecba 100644
@@ -20,6 +20,7 @@ your project can be skipped.
    * +BR2_UCLIBC_CONFIG+
    * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+
    * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+
+   * +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+
 1. Write the configuration files:
    * +make linux-update-defconfig+
    * +make busybox-update-config+
@@ -27,6 +28,7 @@ your project can be skipped.
    * +cp <output>/build/at91bootstrap3-*/.config
      board/<manufacturer>/<boardname>/at91bootstrap3.config+
    * +make barebox-update-defconfig+
+   * +make uboot-update-defconfig+
 1. Create +board/<manufacturer>/<boardname>/rootfs-overlay/+ and fill it
    with additional files you need on your rootfs, e.g.
    +board/<manufacturer>/<boardname>/rootfs-overlay/etc/inittab+.
docs/manual/make-tips.txt +2 -0
index 027eddf..f6ff073 100644
@@ -28,6 +28,8 @@ some settings in the +.config+ file may hide some targets:
   selected in the internal toolchain backend;
 * +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the
   +barebox+ bootloader is enabled.
+* +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the
+  +U-Boot+ bootloader is enabled.
 
 .Cleaning:
 
Signature · 1 line
2.3.5
#7 lore raw

PATCH 1/4 boot/uboot: bump to version 2015.04

In reply to Jörg Krause

Dear J?rg Krause,

Quoted 4 lines · J?rg Krause
---
 boot/uboot/Config.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com