Jelajahi Sumber

linux: add support for Image.gz kernel format

arm64 / riscv supports building a gzip compressed 'Image' format kernel,
which is sometimes useful. From arch/arm64/Makefile:

all:	Image.gz

Image: vmlinux
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

Image.%: Image
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

(and similar logic for riscv)

Future architectures may or may not copy this logic, so for robustness add
an explicit Image.gz format rather than copying both Image and Image.gz when
the Image format is used.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Peter Korsgaard 4 tahun lalu
induk
melakukan
96c26ce863
2 mengubah file dengan 6 tambahan dan 0 penghapusan
  1. 4 0
      linux/Config.in
  2. 2 0
      linux/linux.mk

+ 4 - 0
linux/Config.in

@@ -263,6 +263,10 @@ config BR2_LINUX_KERNEL_IMAGE
 	bool "Image"
 	bool "Image"
 	depends on BR2_aarch64 || BR2_riscv
 	depends on BR2_aarch64 || BR2_riscv
 
 
+config BR2_LINUX_KERNEL_IMAGEGZ
+	bool "Image.gz"
+	depends on BR2_aarch64 || BR2_riscv
+
 config BR2_LINUX_KERNEL_LINUX_BIN
 config BR2_LINUX_KERNEL_LINUX_BIN
 	bool "linux.bin"
 	bool "linux.bin"
 	depends on BR2_microblaze
 	depends on BR2_microblaze

+ 2 - 0
linux/linux.mk

@@ -204,6 +204,8 @@ else ifeq ($(BR2_LINUX_KERNEL_SIMPLEIMAGE),y)
 LINUX_IMAGE_NAME = simpleImage.$(firstword $(LINUX_DTS_NAME))
 LINUX_IMAGE_NAME = simpleImage.$(firstword $(LINUX_DTS_NAME))
 else ifeq ($(BR2_LINUX_KERNEL_IMAGE),y)
 else ifeq ($(BR2_LINUX_KERNEL_IMAGE),y)
 LINUX_IMAGE_NAME = Image
 LINUX_IMAGE_NAME = Image
+else ifeq ($(BR2_LINUX_KERNEL_IMAGEGZ),y)
+LINUX_IMAGE_NAME = Image.gz
 else ifeq ($(BR2_LINUX_KERNEL_LINUX_BIN),y)
 else ifeq ($(BR2_LINUX_KERNEL_LINUX_BIN),y)
 LINUX_IMAGE_NAME = linux.bin
 LINUX_IMAGE_NAME = linux.bin
 else ifeq ($(BR2_LINUX_KERNEL_VMLINUX_BIN),y)
 else ifeq ($(BR2_LINUX_KERNEL_VMLINUX_BIN),y)