Hello Sascha,
On 1/5/26 12:26 PM, Sascha Hauer wrote:
> Some architectures want to link the barebox proper ELF image into the
> PBL. Allow that and provide a Kconfig option to select the ELF image.
>
> Signed-off-by: Sascha Hauer <[email protected]>
> ---
> images/Makefile | 18 ++++++++++++++++--
> images/piggy.S | 4 ++++
> pbl/Kconfig | 8 ++++++++
> 3 files changed, 28 insertions(+), 2 deletions(-)
>
> diff --git a/images/Makefile b/images/Makefile
> index
> 448479ee8cf355a771ce63314ce64a631544f488..8d4fd1504ab64d4f4d1cc19f2b36cff9939964e3
> 100644
> --- a/images/Makefile
> +++ b/images/Makefile
> @@ -138,7 +138,13 @@ $(obj)/%.itb: $(obj)/%.its FORCE
> $(obj)/%.fit: $(obj)/$$(FILE_$$(@F)) $(dtstree)/dtbs-list FORCE
> $(call if_changed,fit)
>
> -$(obj)/piggy.o: $(obj)/barebox.z FORCE
> +ifeq ($(CONFIG_PBL_IMAGE_ELF),)
> +PIGGY_IMAGE := $(obj)/barebox.z
> +else
> +PIGGY_IMAGE := $(obj)/barebox.elf.z
> +endif
Heh, in my attempt, I had an elfcompress host tool that compressed every
segment separately and then the PBL decompressed every segment on its
own directly to the load address.
Having things laid out properly from the get go is certainly neater.
Why not call it barebox.z still though and change BAREBOX_PROPER to be
vmbarebox? This would
> +
> +$(obj)/piggy.o: ${PIGGY_IMAGE} FORCE
>
> $(obj)/sha_sum.o: $(obj)/barebox.sha.bin FORCE
>
> @@ -154,6 +160,14 @@ $(obj)/barebox.sum: $(obj)/barebox.z FORCE
> $(obj)/barebox.z: $(obj)/../$(BAREBOX_PROPER) FORCE
> $(call if_changed,$(suffix_y))
>
> +# barebox.elf.z - compressed barebox ELF binary
> +# ----------------------------------------------------------------
> +# Prevent the %.elf pattern rule from building ../barebox.elf
> +$(obj)/../barebox.elf: ;
> +
> +$(obj)/barebox.elf.z: $(obj)/../barebox.elf FORCE
> + $(call if_changed,$(suffix_y))
As you noticed youtself, barebox.elf is not a good name, because it's
generated outside this makefile, but still has an %.elf: rule.
How about vmbarebox instead?
> +config PBL_IMAGE_ELF
> + bool
should select ELF.
Cheers,
Ahmad
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |