From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 18 Sep 2025 11:54:31 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uzBLT-004QQe-0c for lore@lore.pengutronix.de; Thu, 18 Sep 2025 11:54:31 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1uzBLS-0002mS-SW; Thu, 18 Sep 2025 11:54:30 +0200 Received: from dude03.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::39]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1uzBLC-0002m5-0l; Thu, 18 Sep 2025 11:54:14 +0200 From: Holger Assmann To: ptxdist@pengutronix.de Date: Thu, 18 Sep 2025 11:54:01 +0200 Message-ID: <20250918095401.1271190-1-h.assmann@pengutronix.de> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [ptxdist] [PATCH] kernel-fit: specify kernel compression X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Holger Assmann Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false On AArch64, the bootloader is responsible for unpacking the kernel image prior loading it. This has to be specified within the FIT image. Signed-off-by: Holger Assmann --- platforms/kernel-fit.in | 6 ++++++ rules/kernel-fit.make | 1 + rules/post/ptxd_make_image_fit.make | 13 +++++++------ scripts/lib/ptxd_make_fit_image.sh | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/platforms/kernel-fit.in b/platforms/kernel-fit.in index 5b160c57d..3ed69f3f2 100644 --- a/platforms/kernel-fit.in +++ b/platforms/kernel-fit.in @@ -17,6 +17,12 @@ menuconfig KERNEL_FIT if KERNEL_FIT +config KERNEL_FIT_KERNEL_COMPRESSION + string + # Keep in sync with KERNEL_IMAGE + default "gzip" if KERNEL_IMAGE_Z && (ARCH_ARM64 || ARCH_RISCV) + default "none" + config KERNEL_FIT_NOLOAD bool prompt "Sub-image type 'kernel_noload'" diff --git a/rules/kernel-fit.make b/rules/kernel-fit.make index 64e82042f..87250c648 100644 --- a/rules/kernel-fit.make +++ b/rules/kernel-fit.make @@ -25,6 +25,7 @@ KERNEL_FIT_SIGN_ROLE := image-kernel-fit KERNEL_FIT_KEY_NAME_HINT := image-kernel-fit endif KERNEL_FIT_KERNEL = $(KERNEL_IMAGE_PATH_y) +KERNEL_FIT_KERNEL_COMPRESSION := $(call remove_quotes,$(PTXCONF_KERNEL_FIT_KERNEL_COMPRESSION)) ifdef PTXCONF_KERNEL_FIT_INITRAMFS KERNEL_FIT_INITRAMFS := $(IMAGEDIR)/root.cpio endif diff --git a/rules/post/ptxd_make_image_fit.make b/rules/post/ptxd_make_image_fit.make index 2dd5bce9e..b363f1f13 100644 --- a/rules/post/ptxd_make_image_fit.make +++ b/rules/post/ptxd_make_image_fit.make @@ -7,12 +7,13 @@ # world/image-fit/env/impl = \ - $(call world/image/env, $(1)) \ - $(CODE_SIGNING_ENV) \ - image_sign_role="$(call ptx/escape,$($(1)_SIGN_ROLE))" \ - image_key_name_hint="$(call ptx/escape,$($(1)_KEY_NAME_HINT))" \ - image_kernel="$(call ptx/escape,$($(1)_KERNEL))" \ - image_initramfs="$(call ptx/escape,$($(1)_INITRAMFS))" \ + $(call world/image/env, $(1)) \ + $(CODE_SIGNING_ENV) \ + image_sign_role="$(call ptx/escape,$($(1)_SIGN_ROLE))" \ + image_key_name_hint="$(call ptx/escape,$($(1)_KEY_NAME_HINT))" \ + image_kernel="$(call ptx/escape,$($(1)_KERNEL))" \ + image_kernel_compression="$(call ptx/escape,$($(1)_KERNEL_COMPRESSION))"\ + image_initramfs="$(call ptx/escape,$($(1)_INITRAMFS))" \ image_dtb="$(call ptx/escape,$($(1)_DTB))" world/image-fit/env = \ diff --git a/scripts/lib/ptxd_make_fit_image.sh b/scripts/lib/ptxd_make_fit_image.sh index ad9e5bdd3..f5b7755ea 100644 --- a/scripts/lib/ptxd_make_fit_image.sh +++ b/scripts/lib/ptxd_make_fit_image.sh @@ -21,7 +21,7 @@ ptxd_make_image_fit_its() { data = /incbin/("${image_kernel}"); arch = "$(ptxd_get_ptxconf PTXCONF_ARCH_STRING)"; os = "linux"; - compression = "none"; + compression = "${image_kernel_compression}"; EOF if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_NOLOAD)" ]; then cat << EOF -- 2.47.3