* [Buildroot] [PATCH v2] Revert "boot/uboot: allow to build multiple U-Boot images"
@ 2016-10-06 13:43 Fabio Estevam
2016-10-07 14:05 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Fabio Estevam @ 2016-10-06 13:43 UTC (permalink / raw)
To: buildroot
This reverts commit fad58cefa4a392b52eafe46a773f8cbfb8aadb43.
Since commit fad58cefa4a392b ("boot/uboot: allow to build multiple U-Boot
images") the installation of SPL binary fails.
For example, when building the mx6cubox_defconfig target we see:
LD u-boot
OBJCOPY u-boot-nodtb.bin
COPY u-boot.bin
MKIMAGE u-boot.img
>>> uboot 2016.09.01 Installing to target
>>> uboot 2016.09.01 Installing to images directory
cp -dpf /home/fabio/buildroot/output/build/uboot-2016.09.01/u-boot.bin /home/fabio/buildroot/output/images/
cp -dpf /home/fabio/buildroot/output/build/uboot-2016.09.01/u-boot.img /home/fabio/buildroot/output/images/
cp -dpf /home/fabio/buildroot/output/build/uboot-2016.09.01/SPL /home/fabio/buildroot/output/images/
cp: cannot stat '/home/fabio/buildroot/output/build/uboot-2016.09.01/SPL': No such file or directory
According to Arnout Vandecappelle:
"It has been mentioned in a number of threads: a better solution is to
always 'make all' in UBOOT_BUILD_CMDS. This will also allow to remove
many of the UBOOT_MAKE_TARGET assignments.
It hasn't been done yet because such a change should be tested against
all the different U-Boot artefacts, and with different U-Boot versions."
While the 'make all' approach is not implemented, let's revert the
offending commit to avoid the SPL breakage.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
Changes since v1:
- Revert the offending commit instead of trying to fix it.
boot/uboot/Config.in | 19 +++++-----
boot/uboot/uboot.mk | 102 ++++++++++++++++++---------------------------------
2 files changed, 44 insertions(+), 77 deletions(-)
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index d46a757..a345601 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -137,7 +137,9 @@ config BR2_TARGET_UBOOT_NEEDS_DTC
Select this option if your U-Boot board configuration
requires the Device Tree compiler to be available.
-menu "U-Boot binary format"
+choice
+ prompt "U-Boot binary format"
+ default BR2_TARGET_UBOOT_FORMAT_BIN
config BR2_TARGET_UBOOT_FORMAT_AIS
bool "u-boot.ais"
@@ -148,7 +150,6 @@ config BR2_TARGET_UBOOT_FORMAT_AIS
config BR2_TARGET_UBOOT_FORMAT_BIN
bool "u-boot.bin"
- default y
config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
bool "u-boot-dtb.img"
@@ -251,21 +252,19 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM
help
On some platforms, the standard U-Boot binary is not called
u-boot.bin, but u-boot<something>.bin. If this is your case,
- you should select this option and specify the correct name(s)
+ you should select this option and specify the correct name
in BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME.
+endchoice
+
config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
- string "U-Boot binary format: custom names"
+ string "U-Boot binary format: custom name"
depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM
help
- In case the U-Boot binary for the target platform is not among
- the default names, one or more custom names can be listed here.
- Use space to separate multiple names.
- Example:
+ Specify the correct name of the output binary created by
+ U-Boot, if it is not one of the default names. For example:
u-boot_magic.bin
-endmenu
-
config BR2_TARGET_UBOOT_OMAP_IFT
depends on BR2_TARGET_UBOOT_FORMAT_BIN
depends on BR2_arm || BR2_armeb
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 7379a4d..7c3512a 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -36,78 +36,48 @@ BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE)
endif
endif
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_BIN),y)
-UBOOT_BINS += u-boot.bin
-endif
-
ifeq ($(BR2_TARGET_UBOOT_FORMAT_ELF),y)
-UBOOT_BINS += u-boot
+UBOOT_BIN = u-boot
# To make elf usable for debuging on ARC use special target
ifeq ($(BR2_arc),y)
-UBOOT_MAKE_TARGET += mdbtrick
-endif
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_KWB),y)
-UBOOT_BINS += u-boot.kwb
-UBOOT_MAKE_TARGET += u-boot.kwb
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_AIS),y)
-UBOOT_BINS += u-boot.ais
-UBOOT_MAKE_TARGET += u-boot.ais
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y)
-UBOOT_BINS += u-boot.ldr
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y)
-UBOOT_BINS += u-boot-nand.bin
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMG),y)
-UBOOT_BINS += u-boot-dtb.img
-UBOOT_MAKE_TARGET += all u-boot-dtb.img
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y)
-UBOOT_BINS += u-boot.img
-UBOOT_MAKE_TARGET += u-boot.img
+UBOOT_MAKE_TARGET = mdbtrick
endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMX),y)
-UBOOT_BINS += u-boot.imx
-UBOOT_MAKE_TARGET += u-boot.imx
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
-UBOOT_BINS += u-boot.sb
-UBOOT_MAKE_TARGET += u-boot.sb
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_KWB),y)
+UBOOT_BIN = u-boot.kwb
+UBOOT_MAKE_TARGET = $(UBOOT_BIN)
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_AIS),y)
+UBOOT_BIN = u-boot.ais
+UBOOT_MAKE_TARGET = $(UBOOT_BIN)
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y)
+UBOOT_BIN = u-boot.ldr
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y)
+UBOOT_BIN = u-boot-nand.bin
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMG),y)
+UBOOT_BIN = u-boot-dtb.img
+UBOOT_MAKE_TARGET = all $(UBOOT_BIN)
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y)
+UBOOT_BIN = u-boot.img
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMX),y)
+UBOOT_BIN = u-boot.imx
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
+UBOOT_BIN = u-boot.sb
+UBOOT_MAKE_TARGET = $(UBOOT_BIN)
# mxsimage needs OpenSSL
UBOOT_DEPENDENCIES += host-elftosb host-openssl
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_SD),y)
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SD),y)
# BootStream (.sb) is generated by U-Boot, we convert it to SD format
-UBOOT_BINS += u-boot.sd
-UBOOT_MAKE_TARGET += u-boot.sb
+UBOOT_BIN = u-boot.sd
+UBOOT_MAKE_TARGET = u-boot.sb
UBOOT_DEPENDENCIES += host-elftosb host-openssl
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
-UBOOT_BINS += u-boot.nand
-UBOOT_MAKE_TARGET += u-boot.sb
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
+UBOOT_BIN = u-boot.nand
+UBOOT_MAKE_TARGET = u-boot.sb
UBOOT_DEPENDENCIES += host-elftosb host-openssl
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
-UBOOT_BINS += $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
-endif
-
-ifeq ($(BR2_TARGET_UBOOT_OMAP_IFT),y)
-UBOOT_BINS += u-boot.bin
-UBOOT_BIN_IFT = u-boot.bin.ift
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
+UBOOT_BIN = $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
+else
+UBOOT_BIN = u-boot.bin
+UBOOT_BIN_IFT = $(UBOOT_BIN).ift
endif
# The kernel calls AArch64 'arm64', but U-Boot calls it just 'arm', so
@@ -196,11 +166,9 @@ define UBOOT_BUILD_OMAP_IFT
endef
define UBOOT_INSTALL_IMAGES_CMDS
- $(foreach f,$(UBOOT_BINS), \
- cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
- )
+ cp -dpf $(@D)/$(UBOOT_BIN) $(BINARIES_DIR)/
$(if $(BR2_TARGET_UBOOT_FORMAT_NAND),
- cp -dpf $(@D)/u-boot.sb $(BINARIES_DIR))
+ cp -dpf $(@D)/$(UBOOT_MAKE_TARGET) $(BINARIES_DIR))
$(if $(BR2_TARGET_UBOOT_SPL),
$(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)), \
cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v2] Revert "boot/uboot: allow to build multiple U-Boot images"
2016-10-06 13:43 [Buildroot] [PATCH v2] Revert "boot/uboot: allow to build multiple U-Boot images" Fabio Estevam
@ 2016-10-07 14:05 ` Thomas Petazzoni
2016-10-07 14:39 ` Fabio Estevam
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2016-10-07 14:05 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 6 Oct 2016 10:43:13 -0300, Fabio Estevam wrote:
> This reverts commit fad58cefa4a392b52eafe46a773f8cbfb8aadb43.
>
> Since commit fad58cefa4a392b ("boot/uboot: allow to build multiple U-Boot
> images") the installation of SPL binary fails.
I don't think we want to revert this patch. Instead, we want to call
"make all" unconditionally.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v2] Revert "boot/uboot: allow to build multiple U-Boot images"
2016-10-07 14:05 ` Thomas Petazzoni
@ 2016-10-07 14:39 ` Fabio Estevam
0 siblings, 0 replies; 3+ messages in thread
From: Fabio Estevam @ 2016-10-07 14:39 UTC (permalink / raw)
To: buildroot
Hi Thomas,
On Fri, Oct 7, 2016 at 11:05 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> I don't think we want to revert this patch. Instead, we want to call
> "make all" unconditionally.
Like this?
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 7379a4d..86e5b84 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -48,6 +48,9 @@ UBOOT_MAKE_TARGET += mdbtrick
endif
endif
+# Call 'make all' unconditionally
+UBOOT_MAKE_TARGET += all
+
ifeq ($(BR2_TARGET_UBOOT_FORMAT_KWB),y)
UBOOT_BINS += u-boot.kwb
UBOOT_MAKE_TARGET += u-boot.kwb
@@ -68,7 +71,7 @@ endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMG),y)
UBOOT_BINS += u-boot-dtb.img
-UBOOT_MAKE_TARGET += all u-boot-dtb.img
+UBOOT_MAKE_TARGET += u-boot-dtb.img
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y)
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-10-07 14:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-06 13:43 [Buildroot] [PATCH v2] Revert "boot/uboot: allow to build multiple U-Boot images" Fabio Estevam
2016-10-07 14:05 ` Thomas Petazzoni
2016-10-07 14:39 ` Fabio Estevam
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.