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 > > >
