Discussion:
[Buildroot] [PATCH] boot/uboot: fix missing host-openssl for i.MX28 target
Jörg Krause
2016-05-19 12:05:40 UTC
Permalink
From: Jörg Krause <***@lintech.de>

Building an U-Boot image for the i.MX23 or i.MX28 target requires to run the
bootloaders 'mxsimage' tool on the host. As mxsimage needs unconditionally
OpenSSL, building U-Boot for those targets fails if it is not available on
the host:

tools/mxsimage.c:18:25: fatal error: openssl/evp.h: No such file or directory
#include <openssl/evp.h>

Add the required dependency 'host-openssl' to all the different U-Boot image
types used to build a bootloader image for an i.MX23/i.MX28 target.

Fetch from:
https://sourceforge.net/p/armadeus/mailman/message/33595402/

Signed-off-by: Julien Boibessot <***@armadeus.com>
[Jörg: port to recent Buildroot version]
Signed-off-by: Jörg Krause <***@embedded.rocks>
---
boot/uboot/uboot.mk | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index e071303..e739638 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -58,16 +58,17 @@ UBOOT_BIN = u-boot.imx
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
UBOOT_BIN = u-boot.sb
UBOOT_MAKE_TARGET = $(UBOOT_BIN)
-UBOOT_DEPENDENCIES += host-elftosb
+# mxsimage needs OpenSSL
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SD),y)
# BootStream (.sb) is generated by U-Boot, we convert it to SD format
UBOOT_BIN = u-boot.sd
UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
UBOOT_BIN = u-boot.nand
UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
UBOOT_BIN = $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
else
@@ -87,7 +88,9 @@ endif

UBOOT_MAKE_OPTS += \
CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(UBOOT_ARCH)
+ ARCH=$(UBOOT_ARCH) \
+ HOSTCFLAGS="$(HOST_CFLAGS)" \
+ HOSTLDFLAGS="$(HOST_LDFLAGS)"

ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
UBOOT_DEPENDENCIES += host-dtc
--
2.8.2
Baruch Siach
2016-05-19 13:02:03 UTC
Permalink
Hi Jörg,
I think you should keep Julien's authorship of this patch.
Post by Jörg Krause
Building an U-Boot image for the i.MX23 or i.MX28 target requires to run the
bootloaders 'mxsimage' tool on the host. As mxsimage needs unconditionally
OpenSSL, building U-Boot for those targets fails if it is not available on
tools/mxsimage.c:18:25: fatal error: openssl/evp.h: No such file or directory
#include <openssl/evp.h>
Add the required dependency 'host-openssl' to all the different U-Boot image
types used to build a bootloader image for an i.MX23/i.MX28 target.
https://sourceforge.net/p/armadeus/mailman/message/33595402/
[Jörg: port to recent Buildroot version]
---
boot/uboot/uboot.mk | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index e071303..e739638 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -58,16 +58,17 @@ UBOOT_BIN = u-boot.imx
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
UBOOT_BIN = u-boot.sb
UBOOT_MAKE_TARGET = $(UBOOT_BIN)
-UBOOT_DEPENDENCIES += host-elftosb
+# mxsimage needs OpenSSL
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SD),y)
# BootStream (.sb) is generated by U-Boot, we convert it to SD format
UBOOT_BIN = u-boot.sd
UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
UBOOT_BIN = u-boot.nand
UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
UBOOT_BIN = $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
else
@@ -87,7 +88,9 @@ endif
UBOOT_MAKE_OPTS += \
CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(UBOOT_ARCH)
+ ARCH=$(UBOOT_ARCH) \
+ HOSTCFLAGS="$(HOST_CFLAGS)" \
+ HOSTLDFLAGS="$(HOST_LDFLAGS)"
Is this hunk necessary to make mxsimage.c build? If so, please explain how in
the commit log.

baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- ***@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
Thomas Petazzoni
2016-05-19 14:03:18 UTC
Permalink
Hello,
Post by Baruch Siach
Post by Jörg Krause
UBOOT_MAKE_OPTS += \
CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(UBOOT_ARCH)
+ ARCH=$(UBOOT_ARCH) \
+ HOSTCFLAGS="$(HOST_CFLAGS)" \
+ HOSTLDFLAGS="$(HOST_LDFLAGS)"
Is this hunk necessary to make mxsimage.c build? If so, please explain how in
the commit log.
I guess it is, to allow the U-Boot build process to find OpenSSL in
$(HOST_DIR): thanks to $(HOST_CFLAGS) and $(HOST_LDFLAGS), the right
-I/-L options will be passed to allow U-Boot to find OpenSSL.

But indeed, it's nice when such things are explicitly said in the
commit log.

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
Jörg Krause
2016-05-19 18:27:21 UTC
Permalink
Hi Baruch,
Post by Baruch Siach
Hi Jörg,
I think you should keep Julien's authorship of this patch.
Yes! Honestly, I was suprised by this. In fact I didn't applied the
patch with git, but by copy & paste and then did a git commit & git
format-patch at work and git commit at home...
Post by Baruch Siach
Post by Jörg Krause
Building an U-Boot image for the i.MX23 or i.MX28 target requires to run the
bootloaders 'mxsimage' tool on the host. As mxsimage needs
unconditionally
OpenSSL, building U-Boot for those targets fails if it is not available on
tools/mxsimage.c:18:25: fatal error: openssl/evp.h: No such file or directory
  #include <openssl/evp.h>
Add the required dependency 'host-openssl' to all the different U-
Boot image
types used to build a bootloader image for an i.MX23/i.MX28 target.
https://sourceforge.net/p/armadeus/mailman/message/33595402/
[Jörg: port to recent Buildroot version]
---
 boot/uboot/uboot.mk | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index e071303..e739638 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -58,16 +58,17 @@ UBOOT_BIN = u-boot.imx
 else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
 UBOOT_BIN = u-boot.sb
 UBOOT_MAKE_TARGET = $(UBOOT_BIN)
-UBOOT_DEPENDENCIES += host-elftosb
+# mxsimage needs OpenSSL
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
 else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SD),y)
 # BootStream (.sb) is generated by U-Boot, we convert it to SD
format
 UBOOT_BIN = u-boot.sd
 UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
 else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
 UBOOT_BIN = u-boot.nand
 UBOOT_MAKE_TARGET = u-boot.sb
-UBOOT_DEPENDENCIES += host-elftosb
+UBOOT_DEPENDENCIES += host-elftosb host-openssl
 else ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
 UBOOT_BIN = $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
 else
@@ -87,7 +88,9 @@ endif
 
 UBOOT_MAKE_OPTS += \
  CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(UBOOT_ARCH)
+ ARCH=$(UBOOT_ARCH) \
+ HOSTCFLAGS="$(HOST_CFLAGS)" \
+ HOSTLDFLAGS="$(HOST_LDFLAGS)"
Is this hunk necessary to make mxsimage.c build? If so, please
explain how in 
the commit log.
You're right. Fortunatly, Thomas gave a quite good explanation, which I
would use in an updated version.

Jörg
Baruch Siach
2016-05-19 18:39:31 UTC
Permalink
Hi Jörg,
Post by Jörg Krause
Post by Baruch Siach
I think you should keep Julien's authorship of this patch.
Yes! Honestly, I was suprised by this. In fact I didn't applied the
patch with git, but by copy & paste and then did a git commit & git
format-patch at work and git commit at home...
You can set the authorship of your latest commit with

git --amend --author=[author]

baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- ***@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
Loading...