diff --git a/meta/classes-recipe/kernel-fitimage.bbclass b/meta/classes-recipe/kernel-fitimage.bbclass index fe076badfa..bd2e371b63 100644 --- a/meta/classes-recipe/kernel-fitimage.bbclass +++ b/meta/classes-recipe/kernel-fitimage.bbclass @@ -616,6 +616,11 @@ fitimage_assemble() { bbwarn "${STAGING_DIR_HOST}/boot/${UBOOT_ENV_BINARY} not found." fi fi + if [ -n "${FIT_UBOOT_ENV}" ]; then + cp ${UNPACKDIR}/${FIT_UBOOT_ENV} ${B} + bootscr_id="${FIT_UBOOT_ENV}" + fitimage_emit_section_boot_script $1 "$bootscr_id" ${FIT_UBOOT_ENV} + fi # # Step 4: Prepare a setup section. (For x86) diff --git a/meta/conf/image-fitimage.conf b/meta/conf/image-fitimage.conf index be9ae30134..9be7e45238 100644 --- a/meta/conf/image-fitimage.conf +++ b/meta/conf/image-fitimage.conf @@ -51,3 +51,10 @@ FIT_ADDRESS_CELLS ?= "1" # Then the images signature checking will not be mandatory and no error will be # raised in case of failure. # UBOOT_SIGN_IMG_KEYNAME = "dev2" # keys name in keydir (eg. "dev2.crt", "dev2.key") + +# Additional environment variables or a script which can be sourced by u-boot +# can be packaged into the fitImage. An example is documented here: +# https://docs.u-boot.org/en/latest/usage/cmd/source.html#fit-image +# Machine configurations needing such a script file should include it in the +# SRC_URI of the kernel recipe and set the FIT_UBOOT_ENV parameter. +FIT_UBOOT_ENV ?= ""