aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMasahisa Kojima <masahisa.kojima@linaro.org>2023-10-27 16:43:26 +0900
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-12-05 01:38:56 +0100
commitf32fee03595684ebf362832fb56ad01e97b01925 (patch)
tree96defcb103717ec457495d6a7e594f1a440ee4db /scripts
parent1e8a8f3232ba1f7d08b9760204f0a7425ea710c5 (diff)
downloadu-boot-f32fee03595684ebf362832fb56ad01e97b01925.zip
u-boot-f32fee03595684ebf362832fb56ad01e97b01925.tar.gz
u-boot-f32fee03595684ebf362832fb56ad01e97b01925.tar.bz2
scripts/Makefile.lib: print error when no public key is specified
The current build system embeds the EFI Signature List(ESL) into the dtb to be used in the EFI capsule authentication. This ESL file is specified through the CONFIG_EFI_CAPSULE_ESL_FILE Kconfig option. If CONFIG_EFI_CAPSULE_ESL_FILE is not specified, U-boot build ends up with failure but the cause of failure is not easily understandable. Current error message is as follows. FATAL ERROR: Error reading file into data: Is a directoryCheck /home/ubuntu/src/ledge/u-boot/arch/arm/dts/.synquacer-sc2a11-developerbox.dtb.pre.tmp for errors make[2]: *** [scripts/Makefile.lib:355: arch/arm/dts/synquacer-sc2a11-developerbox.dtb] Error 1 make[1]: *** [dts/Makefile:44: arch-dtbs] Error 2 make: *** [Makefile:1165: dts/dt.dtb] Error 2 make: *** Waiting for unfinished jobs.... This commit shows the error message that CONFIG_EFI_CAPSULE_ESL_FILE must be specified when the EFI capsule authentication is enabled, then terminate the build with error. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Weizhao Ouyang <o451686892@gmail.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.lib5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 8dc6ec8..16bbc27 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -339,7 +339,12 @@ cmd_capsule_esl_gen = \
$(shell sed "s:ESL_BIN_FILE:$(capsule_esl_path):" $(capsule_esl_input_file) > $@)
$(obj)/.capsule_esl.dtsi: FORCE
+ifeq ($(CONFIG_EFI_CAPSULE_ESL_FILE),"")
+ $(error "CONFIG_EFI_CAPSULE_ESL_FILE is empty, EFI capsule authentication \
+ public key must be specified when CONFIG_EFI_CAPSULE_AUTHENTICATE is enabled")
+else
$(call cmd_capsule_esl_gen)
+endif
capsule_esl_input_file=$(srctree)/lib/efi_loader/capsule_esl.dtsi.in
capsule_esl_dtsi = .capsule_esl.dtsi