u-boot/tools
Alexandru Gagniuc cb9faa6f98 tools: Use a single target-independent config to enable OpenSSL
Host tool features, such as mkimage's ability to sign FIT images were
enabled or disabled based on the target configuration. However, this
misses the point of a target-agnostic host tool.

A target's ability to verify FIT signatures is independent of
mkimage's ability to create those signatures. In fact, u-boot's build
system doesn't sign images. The target code can be successfully built
without relying on any ability to sign such code.

Conversely, mkimage's ability to sign images does not require that
those images will only work on targets which support FIT verification.
Linking mkimage cryptographic features to target support for FIT
verification is misguided.

Without loss of generality, we can say that host features are and
should be independent of target features.

While we prefer that a host tool always supports the same feature set,
we recognize the following
  - some users prefer to build u-boot without a dependency on OpenSSL.
  - some distros prefer to ship mkimage without linking to OpenSSL

To allow these use cases, introduce a host-only Kconfig which is used
to select or deselect libcrypto support. Some mkimage features or some
host tools might not be available, but this shouldn't affect the
u-boot build.

I also considered setting the default of this config based on
FIT_SIGNATURE. While it would preserve the old behaviour it's also
contrary to the goals of this change. I decided to enable it by
default, so that the default build yields the most feature-complete
mkimage.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-07-16 15:39:29 -04:00
..
binman binman: Support packaging U-Boot for scenarios like OF_BOARD or OF_PRIOR_STAGE 2021-05-19 17:01:50 +08:00
buildman buildman: Use bytes for the environment 2021-04-29 03:23:39 -07:00
concurrencytest concurrencytest: Fix Python3 warning 2021-01-05 12:26:35 -07:00
docker Azure/GitLab: Move to gcc-11.1.0 and LLVM-11 2021-07-07 10:17:54 -04:00
dtoc dtoc: Check that a parent is not missing 2021-07-15 19:50:27 +08:00
env tools: env: return error if ubi_update_start() fails 2021-01-22 16:58:55 -05:00
gdb
kermit
libfdt libfdt: migrate fdt_ro.c to a wrapper of scripts/dtc/libfdt/fdt_ro.c 2020-04-26 14:23:39 -06:00
logos imx6: icorem6: chmod 644 enigcam.bmp 2021-04-08 23:59:50 +02:00
omap
patman tools: Fix default target compile tools in Python tools 2021-07-06 10:38:03 -06:00
scripts
.gitignore tools: add mkeficapsule to .gitignore 2021-01-29 20:22:40 +01:00
Kconfig tools: Use a single target-independent config to enable OpenSSL 2021-07-16 15:39:29 -04:00
Makefile tools: Use a single target-independent config to enable OpenSSL 2021-07-16 15:39:29 -04:00
aisimage.c tool: aisimage: use ALIGN instead of self defiend macro 2020-04-24 10:10:00 -04:00
aisimage.h
asn1_compiler.c cmd: add asn1_compiler 2019-12-06 16:44:20 -05:00
atmel_pmecc_params.c
atmelimage.c
bmp_logo.c bmp_logo: support CONFIG_DM_VIDEO 2019-07-29 00:20:31 +02:00
default_image.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
dumpimage.c tools: dumpimage: Fall-though to print usage for help command 2020-01-07 11:12:47 -05:00
dumpimage.h
efivar.py tools: efivar.py unused variable 2021-01-13 02:38:00 +01:00
endian-swap.py tools: add script for byte endianness swapping 2020-06-29 22:36:35 +02:00
envcrc.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
fdt_host.h fit_check_sign: Allow selecting the configuration to verify 2020-04-01 07:45:09 -06:00
fdtgrep.c tools: fdtgrep: Use unsigned chars for arrays 2021-03-22 19:23:26 +13:00
file2include.c
fit_check_sign.c tools/fit_check_sign.c: Update usage function. 2021-02-01 16:32:06 -05:00
fit_common.c image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
fit_common.h
fit_image.c tools/fitimage: add missing linebreak for some messages 2021-07-14 16:57:35 -04:00
fit_info.c
gen_eth_addr.c
gen_ethaddr_crc.c
genboardscfg.py patman: Tidy up sys.path changes 2020-04-26 14:25:21 -06:00
getline.c
getline.h
gpheader.h
gpimage-common.c
gpimage.c
ifdtool.c
ifdtool.h
ifwitool.c tool: Move ALIGN_MASK to header as common MACRO 2020-04-24 10:10:00 -04:00
image-host.c tools: Avoid showing return value of clock_gettime() 2021-07-15 18:42:05 -04:00
image-sig-host.c common: Move host-only logic in image-sig.c to separate file 2021-07-16 12:58:55 -04:00
imagetool.c
imagetool.h mkimage: Add a 'keyfile' argument for image signing 2021-04-14 15:23:01 -04:00
img2srec.c
imx8image.c tools: imx image: fix write warning 2021-04-08 09:18:29 +02:00
imx8m_image.sh tools: imx8m_image: fix warning message 2020-02-09 14:57:38 +01:00
imx8mimage.c tools: imx image: fix write warning 2021-04-08 09:18:29 +02:00
imx_cntr_image.sh
imximage.c tools/imximage: fix DCD Blocks message output order 2020-08-18 10:10:25 +02:00
jtagconsole
k3_fit_atf.sh tools: k3_fit_atf: add DM binary to the FIT image 2021-06-11 16:34:52 +05:30
k3_gen_x509_cert.sh tools: k3_gen_x509_cert: Set default early HS JTAG access to disabled 2020-06-13 23:12:17 +05:30
kwbimage.c tools: kwbimage: use common ALIGN to do the size align 2020-04-24 10:10:00 -04:00
kwbimage.h tools: kwbimage: use common ALIGN to do the size align 2020-04-24 10:10:00 -04:00
kwboot.c
lpc32xximage.c
microcode-tool
microcode-tool.py microcode_tool: Convert to Python 3 2019-11-04 18:15:32 -07:00
mips-relocs.c
mkeficapsule.c tools/mkeficapsule: improve online help 2021-04-10 12:00:24 +02:00
mkenvimage.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
mkexynosspl.c
mkimage.c mkimage: allow -l to work on block devices on Linux 2021-07-14 16:57:35 -04:00
mkimage.h image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
mksunxiboot.c tool: Move ALIGN_MASK to header as common MACRO 2020-04-24 10:10:00 -04:00
moveconfig.py moveconfig.py: add to the "do not process" list 2021-04-12 17:44:55 -04:00
mrvl_uart.sh
mtk_image.c tools: mtk_image: add an option to set device header offset 2021-03-20 16:24:27 -04:00
mtk_image.h tools: mtk_image: add support for booting ARM64 images 2021-01-18 14:59:29 -05:00
mxsboot.c
mxsimage.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
mxsimage.h
ncb.c
netconsole
omapimage.c
omapimage.h
os_support.c tools: Remove the out-of-date MinGW support codes 2020-04-24 10:51:56 -04:00
os_support.h tools: Remove the out-of-date MinGW support codes 2020-04-24 10:51:56 -04:00
pbl_crc32.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
pbl_crc32.h
pblimage.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
pblimage.h
prelink-riscv.c riscv: tools: Add big endian target support to prelink-riscv 2019-08-15 13:42:28 +08:00
prelink-riscv.inc riscv: tools: Handle addend to absolute reloc in prelink-riscv 2019-09-03 09:30:32 +08:00
proftool.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
relocate-rela.c
rkcommon.c rockchip: mkimage: Remove host endianness dependency 2020-10-30 23:09:56 +08:00
rkcommon.h rockchip: mkimage: support packing optional second level boot-loader 2019-12-27 15:17:07 +08:00
rkimage.c rockchip: mkimage: fix wrong range of rc4 encoding for boot image 2019-12-27 15:17:07 +08:00
rkmux.py rkmux: Convert to Python 3 2019-11-04 18:15:32 -07:00
rksd.c rockchip: mkimage: support packing optional second level boot-loader 2019-12-27 15:17:07 +08:00
rkspi.c rockchip: mkimage: support packing optional second level boot-loader 2019-12-27 15:17:07 +08:00
rmboard.py tools: Drop unnecessary use of __file__ 2020-09-22 12:50:43 -06:00
socfpgaimage.c tools: socfpgaimage: update padding flow 2021-01-15 17:48:39 +08:00
spl_size_limit.c imx: replace CONFIG_SECURE_BOOT with CONFIG_IMX_HAB 2019-10-08 16:36:37 +02:00
stm32image.c tools: mkimage: fix STM32 image format for big endian hosts 2020-02-13 17:32:09 +01:00
sunxi-spl-image-builder.c
sunxi_egon.c tools: mkimage: Add Allwinner eGON support 2021-01-11 23:19:33 +00:00
ublimage.c
ublimage.h
ubsha1.c
update_octeon_header.c mips: octeon: tools: Add update_octeon_header tool 2020-11-30 18:32:09 +01:00
vybridimage.c
xway-swap-bytes.c
zynqimage.c
zynqmp_pm_cfg_obj_convert.py tools: zynqmp: Fix regex expression around XPm_ConfigObject 2021-01-04 10:51:26 +01:00
zynqmp_psu_init_minimize.sh arm64: zynqmp: Do not remove dpll_prog from psu_init 2019-10-24 13:37:02 +02:00
zynqmpbif.c tools: zynqmpbif: Use compiler builtin instead of linux-specific __swab32 2019-10-28 13:32:51 -04:00
zynqmpimage.c
zynqmpimage.h