9
0
Fork 0

Makefile: add target to produce a SPL compatible uImage

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@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Jan Luebbe 2012-09-20 21:13:44 +02:00 committed by Sascha Hauer
parent ba8c0a47ae
commit 46bf132f15
2 changed files with 19 additions and 1 deletions

1
.gitignore vendored
View File

@ -35,6 +35,7 @@ barebox.srec
barebox.netx
barebox.s5p
barebox.ubl
barebox.uimage
barebox.map
System.map
Module.symvers

View File

@ -680,6 +680,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
@ -1009,7 +1025,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