On Thu, 13 Mar 2025 13:21:50 +0100, Benjamin Gaignard wrote:
> If ARM trusted firmware option has been selected copy the
> generated bl32 binaries to barebox firmware directory so they
> can be included in barebox build process.
> 
> Signed-off-by: Benjamin Gaignard <[email protected]>
> ---
>  rules/barebox.make | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/rules/barebox.make b/rules/barebox.make
> index c0d9c5744..15c06d685 100644
> --- a/rules/barebox.make
> +++ b/rules/barebox.make
> @@ -119,6 +119,16 @@ ifdef PTXCONF_BAREBOX_EXTRA_ENV
>                       $(BAREBOX_BUILD_DIR)/.config; \
>       fi
>  endif
> +
> +ifdef PTXCONF_TF_A
> +     mkdir -p $(BAREBOX_BUILD_DIR)/firmware/
> +     @for i in `find $(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/ -maxdepth 1 
> \
> +     -type f -name *-bl31.bin -printf "%f\n"`; do \
> +             cp $(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/$$i 
> $(BAREBOX_BUILD_DIR)/firmware/; \
> +             cp $(PTXCONF_SYSROOT_TARGET)/usr/lib/firmware/$$i 
> $(BAREBOX_DIR)/firmware/; \
> +     done
> +endif
> +

There is already a (underdocumented) mechanism to copy binaries to the
barebox firmware directory: The PTXCONF_BAREBOX_FIRMWARE option and the
world/inject call.

Enable PTXCONF_BAREBOX_FIRMWARE and add the filenames of the binaries
that you want to install and their target location to the
BAREBOX_INJECT_FILES variable. The inject mechanism copies the files
from /usr/lib/firmware (BAREBOX_INJECT_PATH) to a specified location in
the barebox build directory.

Michael

>       @$(call world/compile, BAREBOX)
>       @$(call touch)
>  
> -- 
> 2.43.0
> 
> 
> 

Reply via email to