Re: [OE-core][PATCH] uboot-sign: fix the concatenation when multiple U-BOOT configurations are specified
From: Thomas Perrot <hidden>
Date: 2021-10-29 22:17:14
Hello Richard, On Wed, 2021-10-27 at 19:02 +0100, Richard Purdie wrote:
On Wed, 2021-10-27 at 16:04 +0200, Thomas Perrot wrote:quoted
Some BSPs, especially those of meta-freescale and meta-ti allow to build U-Boot binaries using different configuration for a given target, for example: - UBOOT_CONFIG ??= "tfa-secure-boot tfa" - UBOOT_CONFIG ??= "nand sdcard spi nor" When this is the case the public key wasn't concatenated to all U- Boot binaries built. Signed-off-by: Thomas Perrot <redacted> --- meta/classes/uboot-sign.bbclass | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes/uboot-sign.bbclass index bae8cada0ac3..8d136e940589 100644--- a/meta/classes/uboot-sign.bbclass +++ b/meta/classes/uboot-sign.bbclass@@ -131,6 +131,20 @@ concat_dtb_helper() {elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then cd ${DEPLOYDIR} cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${CONFIG_B_PATH}/${UBOOT_BINARY} > ${UBOOT_IMAGE} + + if [ -n "${UBOOT_CONFIG}" ] + then + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); + if [ $j -eq $i ] + then + cp ${UBOOT_IMAGE} ${B}/${CONFIG_B_PATH}/u-boot-$type.${UBOOT_SUFFIX} + fi + done + done + fi else bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available." fi@@ -205,7 +219,7 @@ install_helper() {fi } -# Install SPL dtb and u-boot nodtb to datadir, +# Install SPL dtb and u-boot nodtb to datadir, install_spl_helper() { if [ -f "${SPL_DIR}/${SPL_DTB_BINARY}" ]; then install -Dm 0644 ${SPL_DIR}/${SPL_DTB_BINARY} ${D}${datadir}/${SPL_DTB_IMAGE}We seem to be just piling more and more conditional code into these classes for different weird corner cases. Are there some tests we should be adding to ensure people understand why this code is here and if/as/when something else changes it and regresses it?
I should be able to add a test in "oeqa/selftest/fitimage". I will resubmit when it's done. Best regards, Thomas
Cheers, Richard -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#157562): https://lists.openembedded.org/g/openembedded-core/message/157562 Mute This Topic: https://lists.openembedded.org/mt/86628322/5443093 Group Owner: openembedded-core+owner@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [thomas.perrot@bootlin.com ] -=-=-=-=-=-=-=-=-=-=-=-
-- Thomas Perrot, Bootlin Embedded Linux and kernel engineering https://bootlin.com
Attachments
- signature.asc [application/pgp-signature] 659 bytes