Hi, On 1/6/26 1:53 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]> > --- > Makefile | 16 ++++++++++------ > images/Makefile | 2 +- > pbl/Kconfig | 9 +++++++++ > 3 files changed, 20 insertions(+), 7 deletions(-) > > diff --git a/Makefile b/Makefile > index > aa12b385c779512fe20d33792f4968fed2eec29a..d1e6e3e418e4875b0fdee2e156acecdbbd5e3c9a > 100644 > --- a/Makefile > +++ b/Makefile > @@ -831,7 +831,11 @@ export KBUILD_BINARY ?= barebox.bin > # Also any assignments in arch/$(SRCARCH)/Makefile take precedence over > # the default value. > > +ifeq ($(CONFIG_PBL_IMAGE_ELF),y) > +export BAREBOX_PROPER ?= vmbarebox > +else > export BAREBOX_PROPER ?= barebox.bin > +endif
Should be squashed into previous commit. > > barebox-flash-images: $(KBUILD_IMAGE) > @echo $^ > $@ > @@ -854,7 +858,7 @@ endif > > all: $(symlink-y) > ifeq ($(CONFIG_PBL_IMAGE)-$(CONFIG_PBL_IMAGE_NO_PIGGY),y-) > -all: barebox.elf > +all: vmbarebox Shouldn't be needed, there's already ifdef CONFIG_PBL_IMAGE all: $(BAREBOX_PROPER) images > endif > > .SECONDEXPANSION: > @@ -1099,12 +1103,12 @@ barebox.fit: > images/barebox-$(CONFIG_ARCH_LINUX_NAME).fit > barebox.srec: barebox > $(OBJCOPY) -O srec $< $@ > > -OBJCOPYFLAGS_barebox.elf = --strip-debug --strip-unneeded \ > - --remove-section=.comment \ > - --remove-section=.note* \ > - --remove-section=.gnu.hash > +OBJCOPYFLAGS_vmbarebox = --strip-debug --strip-unneeded \ > + --remove-section=.comment \ > + --remove-section=.note* \ > + --remove-section=.gnu.hash > > -barebox.elf: barebox FORCE > +vmbarebox: barebox FORCE > $(call if_changed,objcopy) Ok. I can add a patch later with --strip-section-headers. > quiet_cmd_barebox_proper__ = CC $@ > diff --git a/images/Makefile b/images/Makefile > index > ebbf57b463558724c97a6b4ca65c33f80dad253b..dd1be18eeef1a4ef42d3b9dc4b9c4f5d22c10d1a > 100644 > --- a/images/Makefile > +++ b/images/Makefile > @@ -231,7 +231,7 @@ ifneq ($(pblx-y)$(pblx-),) > $(error pblx- has been removed. Please use pblb- instead.) > endif > > -targets += $(image-y) pbl.lds barebox.x barebox.z piggy.o sha_sum.o > barebox.sha.bin barebox.sum > +targets += $(image-y) pbl.lds barebox.x barebox.z barebox.elf.z piggy.o > sha_sum.o barebox.sha.bin barebox.sum barebox.elf.z not needed. Cheers, Ahmad > targets += $(patsubst %,%.pblb,$(pblb-y)) > targets += $(patsubst %,%.pbl,$(pblb-y)) > targets += $(patsubst %,%.s,$(pblb-y)) > diff --git a/pbl/Kconfig b/pbl/Kconfig > index > cab9325d16e8625bcca10125b3281062abffedbc..63f29cd6135926c48b355b80fc7a123b90098c20 > 100644 > --- a/pbl/Kconfig > +++ b/pbl/Kconfig > @@ -21,6 +21,15 @@ config PBL_IMAGE_NO_PIGGY > want to use the piggy mechanism to load barebox proper. > It's so far only intended for sandbox. > > +config PBL_IMAGE_ELF > + bool > + depends on PBL_IMAGE > + select ELF > + help > + If yes, link ELF image into the PBL, otherwise a raw binary > + is linked into the PBL. This must match the loader code in the > + PBL. > + > config PBL_MULTI_IMAGES > bool > select PBL_IMAGE > -- 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 |
