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 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.