MIPS: zboot: Add "uzImage.bin" target
authorMaarten ter Huurne <maarten@treewalker.org>
Mon, 31 Oct 2016 14:19:55 +0000 (15:19 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 3 Jan 2017 15:34:31 +0000 (16:34 +0100)
uzImage.bin is vmlinuz.bin wrapped in a legacy U-Boot image. Since
the extraction code is inside the image, it does not depend on the
boot loader to extract the kernel.

Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
Cc: Alban Bedel <albeu@free.fr>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14473/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/Makefile
arch/mips/boot/compressed/Makefile

index 1a6bac7b076f31934d397f22c5ccac600e36b4b4..0f6e95cba43cd75a998dd9ecf29f6ae6b51f1418 100644 (file)
@@ -320,6 +320,9 @@ bootz-y                     := vmlinuz
 bootz-y                        += vmlinuz.bin
 bootz-y                        += vmlinuz.ecoff
 bootz-y                        += vmlinuz.srec
+ifeq ($(shell expr $(zload-y) \< 0xffffffff80000000 2> /dev/null), 0)
+bootz-y                        += uzImage.bin
+endif
 
 ifdef CONFIG_LASAT
 rom.bin rom.sw: vmlinux
@@ -433,6 +436,7 @@ define archhelp
        echo '  uImage.gz            - U-Boot image (gzip)'
        echo '  uImage.lzma          - U-Boot image (lzma)'
        echo '  uImage.lzo           - U-Boot image (lzo)'
+       echo '  uzImage.bin          - U-Boot image (self-extracting)'
        echo '  dtbs                 - Device-tree blobs for enabled boards'
        echo '  dtbs_install         - Install dtbs to $(INSTALL_DTBS_PATH)'
        echo
index 90aca95fe3149696d772e3ae41cdcfa388d79b80..011b14512c05065ca6bff4318bd9ecc236317731 100644 (file)
@@ -84,6 +84,7 @@ else
 VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \
                $(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS))
 endif
+UIMAGE_LOADADDR = $(VMLINUZ_LOAD_ADDRESS)
 
 vmlinuzobjs-y += $(obj)/piggy.o
 
@@ -129,4 +130,7 @@ OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec
 vmlinuz.srec: vmlinuz
        $(call cmd,objcopy)
 
+uzImage.bin: vmlinuz.bin FORCE
+       $(call if_changed,uimage,none)
+
 clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec}