From: Alexander Dahl <ada@thorsis.com>
To: "Pali Rohár" <pali@kernel.org>
Cc: Andre Przywara <andre.przywara@arm.com>,
Samuel Holland <samuel@sholland.org>,
Alexandru Gagniuc <mr.nuke.me@gmail.com>,
Stefan Roese <sr@denx.de>,
u-boot@lists.denx.de
Subject: Re: [RFC PATCH] tools: kwbimage: Allow to disable compilation of kwbimage on non-mvebu platforms
Date: Mon, 27 Jun 2022 09:53:22 +0200 [thread overview]
Message-ID: <2193771.WfoU5kHrGb@ada> (raw)
In-Reply-To: <YaZL75ilwIZBmDVB@ada-deb-carambola.ifak-system.com>
Hello,
Am Dienstag, 30. November 2021, 17:06:11 CEST schrieb Alexander Dahl:
> Am Thu, Oct 21, 2021 at 11:33:04AM +0200 schrieb Pali Rohár:
> > kwbimage depends on libcrypto. 32-bit mvebu platforms (except Orion and
> > Discovery, which are not in mach-mvebu) require kwimage for building SPL.
> >
> > Some users want to compile u-boot tools without libcrypto.
> >
> > Therefore add a new symbol CONFIG_TOOLS_KWBIMAGE which controls
> > compilation
> > of kwbimage and define correct dependences between mvebu, kwbimage and
> > libcrypto targets.
> >
> > This allows disabling of kwbimage compilation on non-mvebu platforms.
> >
> > Signed-off-by: Pali Rohár <pali@kernel.org>
> > ---
> >
> > arch/arm/mach-mvebu/Kconfig | 1 +
> > tools/Kconfig | 5 +++++
> > tools/Makefile | 5 ++++-
> > 3 files changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
> > index 54dff9986b41..1ccbccea1dda 100644
> > --- a/arch/arm/mach-mvebu/Kconfig
> > +++ b/arch/arm/mach-mvebu/Kconfig
> > @@ -15,6 +15,7 @@ config ARMADA_32BIT
> >
> > select SPL_SIMPLE_BUS if SPL
> > select SUPPORT_SPL
> > select TRANSLATION_OFFSET
> >
> > + select TOOLS_KWBIMAGE if SPL
> >
> > config ARMADA_64BIT
> >
> > bool
> >
> > diff --git a/tools/Kconfig b/tools/Kconfig
> > index 91ce8ae3e516..40866c5713d9 100644
> > --- a/tools/Kconfig
> > +++ b/tools/Kconfig
> > @@ -25,6 +25,11 @@ config TOOLS_LIBCRYPTO
> >
> > This selection does not affect target features, such as runtime FIT
> > signature verification.
> >
> > +config TOOLS_KWBIMAGE
> > + bool "Enable kwbimage support in host tools"
> > + default y
> > + depends on TOOLS_LIBCRYPTO
> > +
> >
> > config TOOLS_FIT
> >
> > def_bool y
> > help
> >
> > diff --git a/tools/Makefile b/tools/Makefile
> > index 75d8fe71d668..08f1f5a51fb3 100644
> > --- a/tools/Makefile
> > +++ b/tools/Makefile
> > @@ -118,7 +118,6 @@ dumpimage-mkimage-objs := aisimage.o \
> >
> > imximage.o \
> > imx8image.o \
> > imx8mimage.o \
> >
> > - kwbimage.o \
> >
> > lib/md5.o \
> > lpc32xximage.o \
> > mxsimage.o \
> >
> > @@ -150,6 +149,10 @@ dumpimage-mkimage-objs := aisimage.o \
> >
> > $(RSA_OBJS-y) \
> > $(AES_OBJS-y)
> >
> > +ifdef CONFIG_TOOLS_KWBIMAGE
> > +dumpimage-mkimage-objs += kwbimage.o
> > +endif
> > +
> >
> > dumpimage-objs := $(dumpimage-mkimage-objs) dumpimage.o
> > mkimage-objs := $(dumpimage-mkimage-objs) mkimage.o
> > fit_info-objs := $(dumpimage-mkimage-objs) fit_info.o
>
> FWIW:
>
> Tested-by: Alexander Dahl <ada@thorsis.com>
After migrating some boards from u-boot v2021.10 to v2022.01 I found this is
still an issue. Build for example at91 board fails if CONFIG_TOOLS_LIBCRYPTO
is disabled and build host has no openssl headers installed.
(Error output below.)
Could anyone please have a look at this patch again? I don't need host tools
linked with openssl. When building with ptxdist, this only increases build
time (for the additional host-openssl) for no benefit.
(Actually I don't need kwbimage for my target at all, why is it built for
platforms not needing it in the first place?)
HOSTLD tools/mkimage
/usr/bin/ld: tools/kwbimage.o: in function `openssl_err':
kwbimage.c:(.text+0x9a): undefined reference to `ERR_get_error'
/usr/bin/ld: kwbimage.c:(.text+0xb6): undefined reference to
`ERR_error_string'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_compute_pubkey_hash':
kwbimage.c:(.text+0x119): undefined reference to `EVP_MD_CTX_new'
/usr/bin/ld: kwbimage.c:(.text+0x12d): undefined reference to
`EVP_MD_CTX_reset'
/usr/bin/ld: kwbimage.c:(.text+0x132): undefined reference to `EVP_sha256'
/usr/bin/ld: kwbimage.c:(.text+0x13d): undefined reference to `EVP_DigestInit'
/usr/bin/ld: kwbimage.c:(.text+0x158): undefined reference to
`EVP_DigestUpdate'
/usr/bin/ld: kwbimage.c:(.text+0x16c): undefined reference to
`EVP_DigestFinal'
/usr/bin/ld: kwbimage.c:(.text+0x17a): undefined reference to
`EVP_MD_CTX_reset'
/usr/bin/ld: kwbimage.c:(.text+0x182): undefined reference to
`EVP_MD_CTX_free'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_export_pubkey':
kwbimage.c:(.text+0x222): undefined reference to `RSA_get0_key'
/usr/bin/ld: kwbimage.c:(.text+0x233): undefined reference to `RSA_get0_key'
/usr/bin/ld: kwbimage.c:(.text+0x265): undefined reference to `BN_num_bits'
/usr/bin/ld: kwbimage.c:(.text+0x27a): undefined reference to `BN_num_bits'
/usr/bin/ld: kwbimage.c:(.text+0x2ee): undefined reference to `BN_bn2bin'
/usr/bin/ld: kwbimage.c:(.text+0x30b): undefined reference to `BN_bn2bin'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_load_rsa_key':
kwbimage.c:(.text+0x4a1): undefined reference to `PEM_read_RSAPrivateKey'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_sign':
kwbimage.c:(.text+0x174d): undefined reference to `EVP_PKEY_new'
/usr/bin/ld: kwbimage.c:(.text+0x1764): undefined reference to
`EVP_PKEY_set1_RSA'
/usr/bin/ld: kwbimage.c:(.text+0x1774): undefined reference to `EVP_PKEY_size'
/usr/bin/ld: kwbimage.c:(.text+0x1784): undefined reference to
`EVP_MD_CTX_new'
/usr/bin/ld: kwbimage.c:(.text+0x1798): undefined reference to
`EVP_MD_CTX_reset'
/usr/bin/ld: kwbimage.c:(.text+0x179d): undefined reference to `EVP_sha256'
/usr/bin/ld: kwbimage.c:(.text+0x17a8): undefined reference to
`EVP_DigestInit'
/usr/bin/ld: kwbimage.c:(.text+0x17be): undefined reference to
`EVP_DigestUpdate'
/usr/bin/ld: kwbimage.c:(.text+0x17d9): undefined reference to `EVP_SignFinal'
/usr/bin/ld: kwbimage.c:(.text+0x17eb): undefined reference to
`EVP_MD_CTX_reset'
/usr/bin/ld: kwbimage.c:(.text+0x17f3): undefined reference to
`EVP_MD_CTX_free'
/usr/bin/ld: kwbimage.c:(.text+0x17fb): undefined reference to `EVP_PKEY_free'
/usr/bin/ld: kwbimage.c:(.text+0x181a): undefined reference to `EVP_PKEY_free'
/usr/bin/ld: kwbimage.c:(.text+0x1882): undefined reference to
`EVP_MD_CTX_free'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_verify':
kwbimage.c:(.text+0x18fe): undefined reference to `EVP_PKEY_new'
/usr/bin/ld: kwbimage.c:(.text+0x1915): undefined reference to
`EVP_PKEY_set1_RSA'
/usr/bin/ld: kwbimage.c:(.text+0x1925): undefined reference to `EVP_PKEY_size'
/usr/bin/ld: kwbimage.c:(.text+0x1935): undefined reference to
`EVP_MD_CTX_new'
/usr/bin/ld: kwbimage.c:(.text+0x1949): undefined reference to
`EVP_MD_CTX_reset'
/usr/bin/ld: kwbimage.c:(.text+0x194e): undefined reference to `EVP_sha256'
/usr/bin/ld: kwbimage.c:(.text+0x1959): undefined reference to
`EVP_DigestInit'
/usr/bin/ld: kwbimage.c:(.text+0x196f): undefined reference to
`EVP_DigestUpdate'
/usr/bin/ld: kwbimage.c:(.text+0x198a): undefined reference to
`EVP_VerifyFinal'
/usr/bin/ld: kwbimage.c:(.text+0x19aa): undefined reference to
`EVP_MD_CTX_free'
/usr/bin/ld: kwbimage.c:(.text+0x19c3): undefined reference to `EVP_PKEY_free'
/usr/bin/ld: kwbimage.c:(.text+0x1a8f): undefined reference to
`EVP_MD_CTX_reset'
/usr/bin/ld: kwbimage.c:(.text+0x1a97): undefined reference to
`EVP_MD_CTX_free'
/usr/bin/ld: kwbimage.c:(.text+0x1a9f): undefined reference to `EVP_PKEY_free'
/usr/bin/ld: tools/kwbimage.o: in function `kwb_sign_csk_with_kak':
kwbimage.c:(.text+0x233d): undefined reference to `d2i_RSAPublicKey'
/usr/bin/ld: tools/kwbimage.o: in function `EVP_MD_CTX_cleanup':
kwbimage.c:(.text+0xe51): undefined reference to `EVP_MD_CTX_reset'
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host:104: tools/mkimage] Fehler 1
make[1]: *** [/mnt/data/adahl/src/u-boot/Makefile:1810: tools] Fehler 2
make[1]: Verzeichnis „/home/adahl/build/u-boot/v2022.01.x“ wird verlassen
make: *** [Makefile:177: sub-make] Fehler 2
Greets
Alex
next prev parent reply other threads:[~2022-06-27 7:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-21 9:33 [RFC PATCH] tools: kwbimage: Allow to disable compilation of kwbimage on non-mvebu platforms Pali Rohár
2021-10-22 1:48 ` Samuel Holland
2021-10-22 8:11 ` Pali Rohár
2021-11-30 15:50 ` Alexander Dahl
2021-12-07 20:48 ` Pali Rohár
2021-11-30 16:06 ` Alexander Dahl
2022-06-27 7:53 ` Alexander Dahl [this message]
2022-06-27 8:00 ` Pali Rohár
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2193771.WfoU5kHrGb@ada \
--to=ada@thorsis.com \
--cc=andre.przywara@arm.com \
--cc=mr.nuke.me@gmail.com \
--cc=pali@kernel.org \
--cc=samuel@sholland.org \
--cc=sr@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox