diff --git a/meta-digi-arm/classes/sign-stm32mp-digi.bbclass b/meta-digi-arm/classes/sign-stm32mp-digi.bbclass new file mode 100644 index 000000000..fbc94c4a8 --- /dev/null +++ b/meta-digi-arm/classes/sign-stm32mp-digi.bbclass @@ -0,0 +1,24 @@ +# Copyright (C) 2025, Digi International Inc. + +# Overwrite search_path() function in original 'sign-stm2mp.bbclass' +def search_path(file_search, d, err_not_found=False): + """ + Search for in BBPATH and return its absolute path. + If the file is not found: + - Returns the original file string if err_not_found is False. + - Otherwise, it triggers a fatal error. + """ + search_path = d.getVar("BBPATH").split(":") + for p in search_path: + file_path = os.path.join(p, file_search) + if os.path.isfile(file_path): + return file_path + + # If file is not found + bbpaths = d.getVar('BBPATH').replace(':','\n\t') + bb.debug(1, '\n[sign-stm32mp-digi] Not able to find "%s" path from current BBPATH' % (file_search)) + + if not err_not_found: + return file_search # Return original file string instead of failing + + bb.fatal('\n[sign-stm32mp-digi] Not able to find "%s" path from current BBPATH var:\n\t%s.' % (file_search, bbpaths)) diff --git a/meta-digi-arm/conf/layer.conf b/meta-digi-arm/conf/layer.conf index 49a615cc7..0ba8036d9 100644 --- a/meta-digi-arm/conf/layer.conf +++ b/meta-digi-arm/conf/layer.conf @@ -48,6 +48,7 @@ BBMASK += " \ meta-st-stm32mp/recipes-core/busybox/busybox_%.bbappend \ meta-st-stm32mp/recipes-core/systemd/systemd-conf_%.bbappend \ meta-st-stm32mp/recipes-kernel/linux/linux-stm32mp_5.15.bb \ + meta-st-stm32mp/recipes-bsp/u-boot/u-boot-stm32mp_2023.10.bb \ " # Tweak x-linux-ai dependencies to use ST's machine learning packages diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/fip-stm32mp/fip-stm32mp.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/fip-stm32mp/fip-stm32mp.bbappend index a183eee65..1ebaaca2f 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/fip-stm32mp/fip-stm32mp.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/fip-stm32mp/fip-stm32mp.bbappend @@ -2,6 +2,9 @@ # Copyright (C) 2024,2025, Digi International Inc. # +# Inherit custom DIGI sign class to skip signing tool and key parsing restrictions +inherit sign-stm32mp-digi + # Add optee-usb FIP configuration STM32MP_DEVICETREE_USB = " ${@' '.join('%s' % dt_file for dt_file in list(dict.fromkeys((d.getVar('STM32MP_DT_FILES_USB') or '').split())))} " FIP_CONFIG[optee-usb] ?= "optee,${STM32MP_DEVICETREE_USB},default:optee,usb" diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.10.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.10.bbappend index d84e689f6..da16a3e3a 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.10.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.10.bbappend @@ -2,6 +2,9 @@ # Copyright (C) 2022-2025, Digi International Inc. # +# Inherit custom DIGI sign class to skip signing tool and key parsing restrictions +inherit sign-stm32mp-digi + # Select internal or Github TF-A repo TFA_URI_STASH = "${DIGI_MTK_GIT}/emp/arm-trusted-firmware.git;protocol=ssh" TFA_URI_GITHUB = "${DIGI_GITHUB_GIT}/arm-trusted-firmware.git;protocol=https" diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-security/optee/optee-os-stm32mp_4.0.0.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-security/optee/optee-os-stm32mp_4.0.0.bbappend index 091854899..c57ce1a4a 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-security/optee/optee-os-stm32mp_4.0.0.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-security/optee/optee-os-stm32mp_4.0.0.bbappend @@ -2,6 +2,9 @@ # Copyright (C) 2022-2025, Digi International Inc. # +# Inherit custom DIGI sign class to skip signing tool and key parsing restrictions +inherit sign-stm32mp-digi + # Select internal or Github OPTEE repo OPTEE_URI_STASH = "${DIGI_MTK_GIT}/emp/optee_os.git;protocol=ssh" OPTEE_URI_GITHUB = "${DIGI_GITHUB_GIT}/optee_os.git;protocol=https"