[RFC PATCH] tools: kwbimage: Allow to disable compilation of kwbimage on non-mvebu platforms
Samuel Holland
samuel at sholland.org
Fri Oct 22 03:48:22 CEST 2021
Hi,
Thanks for sending this patch!
On 10/21/21 4:33 AM, Pali Rohár wrote:
> 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 at 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
This symbol needs to select TOOLS_LIBCRYPTO. Otherwise that option can
still be deselected by the user, and the build fails when doing so:
$ make CROSS_COMPILE=arm-linux-musleabi- db-mv784mp-gp_defconfig
#
# configuration written to .config
#
$ make CROSS_COMPILE=arm-linux-musleabi- nconfig
scripts/kconfig/nconf Kconfig
$ make CROSS_COMPILE=arm-linux-musleabi-
scripts/kconfig/conf --syncconfig Kconfig
WARNING: unmet direct dependencies detected for TOOLS_KWBIMAGE
Depends on [n]: TOOLS_LIBCRYPTO [=n]
Selected by [y]:
- ARMADA_32BIT [=y] && ARM [=y] && ARCH_MVEBU [=y] && SPL [=y]
WARNING: unmet direct dependencies detected for TOOLS_KWBIMAGE
Depends on [n]: TOOLS_LIBCRYPTO [=n]
Selected by [y]:
- ARMADA_32BIT [=y] && ARM [=y] && ARCH_MVEBU [=y] && SPL [=y]
WARNING: unmet direct dependencies detected for TOOLS_KWBIMAGE
Depends on [n]: TOOLS_LIBCRYPTO [=n]
Selected by [y]:
- ARMADA_32BIT [=y] && ARM [=y] && ARCH_MVEBU [=y] && SPL [=y]
CFG u-boot.cfg
GEN include/autoconf.mk.dep
CFG spl/u-boot.cfg
GEN include/autoconf.mk
GEN spl/include/autoconf.mk
===================== WARNING ======================
This board does not use CONFIG_DM_I2C (Driver Model
for I2C drivers). Please update the board to use
CONFIG_DM_I2C before the v2022.04 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================
CFGCHK u-boot.cfg
HOSTLD tools/dumpimage
HOSTLD tools/mkimage
ld: tools/kwbimage.o: in function `kwb_compute_pubkey_hash':
kwbimage.c:(.text+0x1a00): undefined reference to `EVP_MD_CTX_new'
ld: kwbimage.c:(.text+0x1a10): undefined reference to `EVP_MD_CTX_reset'
ld: kwbimage.c:(.text+0x1a18): undefined reference to `EVP_sha256'
[and more linker errors]
Regards,
Samuel
> +
> 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
>
More information about the U-Boot
mailing list