[PATCH v2] arm64: Allow packing uncompressed images into distro packages

Bjorn Andersson
2024-09-11T02:49:42Z

From: Bjorn Andersson <quic_bjorande@quicinc.com>

The distro packages (deb-pkg, pacman-pkg, rpm-pkg) are generated using
the compressed kernel image, which means that the kernel once installed
can not be booted with systemd-boot.

This differs from the packages generated by the distros themselves,
which uses the uncompressed image.

Use the newly introduced CONFIG_COMPRESSED_INSTALL option to allow
selection of which version of the kernel image should be packaged into
the distro packages.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
Changes in v2:
- Restore the install-specific handling to retain the behavior of
installing the uncompressed "Image" under CONFIG_EFI_ZBOOT=y &&
CONFIG_COMPRESSED_INSTALL=n.
- Link to v1: https://lore.kernel.org/r/20240819-uncompressed-distro-packages-v1-1-c8accc8bc9ea@quicinc.com
---
arch/arm64/Makefile | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index f6bc3da1ef11..3d9752e56109 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -166,9 +166,13 @@ BOOT_TARGETS := Image vmlinuz.efi image.fit
PHONY += $(BOOT_TARGETS)

ifeq ($(CONFIG_EFI_ZBOOT),)
-KBUILD_IMAGE := $(boot)/Image.gz
+ ifeq ($(CONFIG_COMPRESSED_INSTALL),y)
+ KBUILD_IMAGE := $(boot)/Image.gz
+ else
+ KBUILD_IMAGE := $(boot)/Image
+ endif
else
-KBUILD_IMAGE := $(boot)/vmlinuz.efi
+ KBUILD_IMAGE := $(boot)/vmlinuz.efi
endif

all: $(notdir $(KBUILD_IMAGE))

---
base-commit: 469f1bad3c1c6e268059f78c0eec7e9552b3894c
change-id: 20240819-uncompressed-distro-packages-8da6959ed698

Best regards,
--
Bjorn Andersson <quic_bjorande@quicinc.com>