* [Buildroot] [PATCH 2/4] boot/uboot: add hash file
2015-04-18 12:52 [Buildroot] [PATCH 1/4] boot/uboot: bump to version 2015.04 Jörg Krause
@ 2015-04-18 12:52 ` Jörg Krause
2015-04-19 8:08 ` Thomas Petazzoni
2015-04-18 12:52 ` [Buildroot] [PATCH 3/4] boot/uboot: add support for the kconfig infrastructure Jörg Krause
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Jörg Krause @ 2015-04-18 12:52 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
boot/uboot/uboot.hash | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 boot/uboot/uboot.hash
diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash
new file mode 100644
index 0000000..9cc96f6
--- /dev/null
+++ b/boot/uboot/uboot.hash
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 0a1a70df586655f527befa6f12e184e96ed61b126e5a567382321b17200f5d60 u-boot-2015.04.tar.bz2
--
2.3.5
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH 2/4] boot/uboot: add hash file
2015-04-18 12:52 ` [Buildroot] [PATCH 2/4] boot/uboot: add hash file Jörg Krause
@ 2015-04-19 8:08 ` Thomas Petazzoni
2015-04-19 8:16 ` Yann E. MORIN
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2015-04-19 8:08 UTC (permalink / raw)
To: buildroot
Dear J?rg Krause,
On Sat, 18 Apr 2015 14:52:44 +0200, J?rg Krause wrote:
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
> 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
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/4] boot/uboot: add hash file
2015-04-19 8:08 ` Thomas Petazzoni
@ 2015-04-19 8:16 ` Yann E. MORIN
0 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2015-04-19 8:16 UTC (permalink / raw)
To: buildroot
Thomas, J?rg, All,
On 2015-04-19 10:08 +0200, Thomas Petazzoni spake thusly:
> On Sat, 18 Apr 2015 14:52:44 +0200, J?rg Krause wrote:
> > Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> > ---
> > 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.
OK, I'll consider this for my series making them mandatory. Thanks for
the heads-up.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 3/4] boot/uboot: add support for the kconfig infrastructure
2015-04-18 12:52 [Buildroot] [PATCH 1/4] boot/uboot: bump to version 2015.04 Jörg Krause
2015-04-18 12:52 ` [Buildroot] [PATCH 2/4] boot/uboot: add hash file Jörg Krause
@ 2015-04-18 12:52 ` Jörg Krause
2015-04-19 8:10 ` Thomas Petazzoni
2015-04-18 12:52 ` [Buildroot] [PATCH 4/4] docs/manual: add U-Boot configuration Jörg Krause
2015-04-19 8:07 ` [Buildroot] [PATCH 1/4] boot/uboot: bump to version 2015.04 Thomas Petazzoni
3 siblings, 1 reply; 8+ messages in thread
From: Jörg Krause @ 2015-04-18 12:52 UTC (permalink / raw)
To: buildroot
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/
Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
boot/uboot/Config.in | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
boot/uboot/uboot.mk | 28 ++++++++++++++++++++++++++--
2 files changed, 74 insertions(+), 2 deletions(-)
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index 7cf695c..f44c3de 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -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
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index a9ba054..941b721 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -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)),)
--
2.3.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 3/4] boot/uboot: add support for the kconfig infrastructure
2015-04-18 12:52 ` [Buildroot] [PATCH 3/4] boot/uboot: add support for the kconfig infrastructure Jörg Krause
@ 2015-04-19 8:10 ` Thomas Petazzoni
0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2015-04-19 8:10 UTC (permalink / raw)
To: buildroot
Dear J?rg Krause,
On Sat, 18 Apr 2015 14:52:45 +0200, J?rg Krause wrote:
> 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/
>
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
This patch does not apply. Can you refresh it on the latest master?
Also, some comments below.
> 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
Not needed.
> + 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
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 4/4] docs/manual: add U-Boot configuration
2015-04-18 12:52 [Buildroot] [PATCH 1/4] boot/uboot: bump to version 2015.04 Jörg Krause
2015-04-18 12:52 ` [Buildroot] [PATCH 2/4] boot/uboot: add hash file Jörg Krause
2015-04-18 12:52 ` [Buildroot] [PATCH 3/4] boot/uboot: add support for the kconfig infrastructure Jörg Krause
@ 2015-04-18 12:52 ` Jörg Krause
2015-04-19 8:07 ` [Buildroot] [PATCH 1/4] boot/uboot: bump to version 2015.04 Thomas Petazzoni
3 siblings, 0 replies; 8+ messages in thread
From: Jörg Krause @ 2015-04-18 12:52 UTC (permalink / raw)
To: buildroot
Add the new Kconfig configuration help text for U-Boot to the manual.
Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
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(-)
diff --git a/docs/manual/configure-other-components.txt b/docs/manual/configure-other-components.txt
index deb1fa2..60a80f0 100644
--- a/docs/manual/configure-other-components.txt
+++ b/docs/manual/configure-other-components.txt
@@ -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+.
diff --git a/docs/manual/customize-configuration.txt b/docs/manual/customize-configuration.txt
index 6224d40..ae6cebe 100644
--- a/docs/manual/customize-configuration.txt
+++ b/docs/manual/customize-configuration.txt
@@ -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+.
diff --git a/docs/manual/customize-quick-guide.txt b/docs/manual/customize-quick-guide.txt
index 4ff185a..627ecba 100644
--- a/docs/manual/customize-quick-guide.txt
+++ b/docs/manual/customize-quick-guide.txt
@@ -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+.
diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.txt
index 027eddf..f6ff073 100644
--- a/docs/manual/make-tips.txt
+++ b/docs/manual/make-tips.txt
@@ -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:
--
2.3.5
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH 1/4] boot/uboot: bump to version 2015.04
2015-04-18 12:52 [Buildroot] [PATCH 1/4] boot/uboot: bump to version 2015.04 Jörg Krause
` (2 preceding siblings ...)
2015-04-18 12:52 ` [Buildroot] [PATCH 4/4] docs/manual: add U-Boot configuration Jörg Krause
@ 2015-04-19 8:07 ` Thomas Petazzoni
3 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2015-04-19 8:07 UTC (permalink / raw)
To: buildroot
Dear J?rg Krause,
On Sat, 18 Apr 2015 14:52:43 +0200, J?rg Krause wrote:
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
> boot/uboot/Config.in | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Applied, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread