[PATCH] Makefile: add target to produce a SPL compatible uImage

Teresa Gamez t.gamez at phytec.de
Mon Sep 24 08:37:02 EDT 2012


Hello Jan,

Am 20.09.2012 21:13, schrieb Jan Luebbe:
> This is mostly useful during the initial port of barebox to a new
> board which is supported by u-boot. It also allows starting barebox
> from a SRAM-based u-boot SPL.
>
> A different load address can be set like this:
> make barebox.uimage UIMAGE_BASE=0x80000000
>
> Also add barebox.ubl to CLEAN_FILES.
>
> Signed-off-by: Jan Luebbe <jlu at pengutronix.de>
> ---
> I've carried this patch for some time and adjusted it to support
> PBL (compressed image), but have not had an opportunity to verify
> it again.
>
> Teresa, if you have some time to try it out, that would be very
> much appreciated. :)

I have tested it with my am335x patches. And it worked so far.
But I have not done anything with the pbl image, yet.
Could you explain me what it's actually for? And how I can test it?

Regards
Teresa

>
>
>   .gitignore |    1 +
>   Makefile   |   19 ++++++++++++++++++-
>   2 files changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/.gitignore b/.gitignore
> index 4154c73..7e98a25 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -35,6 +35,7 @@ barebox.srec
>   barebox.netx
>   barebox.s5p
>   barebox.ubl
> +barebox.uimage
>   barebox.map
>   System.map
>   Module.symvers
> diff --git a/Makefile b/Makefile
> index 0f1a319..5cb4730 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -686,6 +686,22 @@ ifndef CONFIG_PBL_IMAGE
>   	$(call cmd,check_file_size,$(CONFIG_BAREBOX_MAX_IMAGE_SIZE))
>   endif
>   
> +# By default the uImage load address is 2MB below CONFIG_TEXT_BASE,
> +# leaving space for the compressed PBL image at 1MB below CONFIG_TEXT_BASE.
> +UIMAGE_BASE ?= $(shell printf "0x%08x" $$(($(CONFIG_TEXT_BASE) - 0x200000)))
> +
> +# For development provide a target which makes barebox loadable by an
> +# unmodified u-boot
> +quiet_cmd_barebox_mkimage = MKIMAGE $@
> +      cmd_barebox_mkimage = $(srctree)/scripts/mkimage -A $(ARCH) -T firmware -C none \
> +       -O barebox -a $(UIMAGE_BASE) -e $(UIMAGE_BASE) \
> +       -n "barebox $(KERNELRELEASE)" -d $< $@
> +
> +# barebox.uimage is build from the raw barebox binary, without any other
> +# headers.
> +barebox.uimage: $(KBUILD_BINARY) FORCE
> +	$(call if_changed,barebox_mkimage)
> +
>   ifdef CONFIG_X86
>   barebox.S: barebox
>   ifdef CONFIG_X86_HDBOOT
> @@ -1015,7 +1031,8 @@ CLEAN_FILES +=	barebox System.map include/generated/barebox_default_env.h \
>                   .tmp_version .tmp_barebox* barebox.bin barebox.map barebox.S \
>   		.tmp_kallsyms* barebox_default_env* barebox.ldr \
>   		scripts/bareboxenv-target barebox-flash-image \
> -		Doxyfile.version barebox.srec barebox.s5p
> +		Doxyfile.version barebox.srec barebox.s5p barebox.ubl \
> +		barebox.uimage
>   
>   # Directories & files removed with 'make mrproper'
>   MRPROPER_DIRS  += include/config include2 usr/include




More information about the barebox mailing list