summaryrefslogtreecommitdiffstats
path: root/arch/riscv/Makefile
diff options
context:
space:
mode:
authorAnup Patel <anup@brainfault.org>2018-11-12 11:25:15 +0530
committerPalmer Dabbelt <palmer@sifive.com>2018-11-20 05:19:09 -0800
commitc0fbcd9918607e85c9598bfa3dd0a84ed77ea210 (patch)
tree5e88da40c8c0781e1dd6417123ead07ba47ceabd /arch/riscv/Makefile
parent21f70d4abf9e17c2e3d7e64b7bfa3424e017f176 (diff)
downloadlinux-0-day-c0fbcd9918607e85c9598bfa3dd0a84ed77ea210.tar.gz
linux-0-day-c0fbcd9918607e85c9598bfa3dd0a84ed77ea210.tar.xz
RISC-V: Build flat and compressed kernel images
This patch extends Linux RISC-V build system to build and install: Image - Flat uncompressed kernel image Image.gz - Flat and GZip compressed kernel image Quiet a few bootloaders (such as Uboot, UEFI, etc) are capable of booting flat and compressed kernel images. In case of Uboot, booting Image or Image.gz is achieved using bootm command. The flat and uncompressed kernel image (i.e. Image) is very useful in pre-silicon developent and testing because we can create back-door HEX files for RAM on FPGAs from Image. Signed-off-by: Anup Patel <anup@brainfault.org> Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Diffstat (limited to 'arch/riscv/Makefile')
-rw-r--r--arch/riscv/Makefile15
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
index 4af153a182b07..4b594f2e4f7eb 100644
--- a/arch/riscv/Makefile
+++ b/arch/riscv/Makefile
@@ -71,6 +71,10 @@ KBUILD_CFLAGS += $(call cc-option,-mstrict-align)
# arch specific predefines for sparse
CHECKFLAGS += -D__riscv -D__riscv_xlen=$(BITS)
+# Default target when executing plain make
+boot := arch/riscv/boot
+KBUILD_IMAGE := $(boot)/Image.gz
+
head-y := arch/riscv/kernel/head.o
core-y += arch/riscv/kernel/ arch/riscv/mm/
@@ -81,4 +85,13 @@ PHONY += vdso_install
vdso_install:
$(Q)$(MAKE) $(build)=arch/riscv/kernel/vdso $@
-all: vmlinux
+all: Image.gz
+
+Image: vmlinux
+ $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
+
+Image.%: Image
+ $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
+
+zinstall install:
+ $(Q)$(MAKE) $(build)=$(boot) $@