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 <thomas.per...@bootlin.com>
---
 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}
-- 
2.31.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#157513): 
https://lists.openembedded.org/g/openembedded-core/message/157513
Mute This Topic: https://lists.openembedded.org/mt/86628322/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to