From 38e9744cc23a4911aef6f07f056463ece933ed98 Mon Sep 17 00:00:00 2001 From: Jeremi Piotrowski Date: Mon, 9 Dec 2024 11:07:00 +0000 Subject: [PATCH] sys-kernel/coreos-modules: Enable EFI_ZBOOT for arm64 Arm64 now supports booting a compressed kernel through EFI. This is hidden behind the EFI_ZBOOT Kconfig option. The EFI_ZBOOT is only enabled in the arm64 config because it is not available for x86. X86 relies on an architecture specific compression mechanism on EFI. The KERNEL_ZSTD Kconfig option applies to both arches so move it to commonconfig. The other change required is that the kernel image name changes. In my local build it looks like the kernel size goes down from 59MB to 43MB. Signed-off-by: Jeremi Piotrowski --- .../src/third_party/coreos-overlay/eclass/coreos-kernel.eclass | 2 +- .../sys-kernel/coreos-modules/files/amd64_defconfig-6.6 | 1 - .../sys-kernel/coreos-modules/files/arm64_defconfig-6.6 | 1 + .../sys-kernel/coreos-modules/files/commonconfig-6.6 | 1 + 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-kernel.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-kernel.eclass index 0ea1ee111b..d6aa21caf5 100644 --- a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-kernel.eclass +++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-kernel.eclass @@ -100,7 +100,7 @@ config_update() { kernel_path() { local kernel_arch=$(tc-arch-kernel) case "${kernel_arch}" in - arm64) echo build/arch/arm64/boot/Image;; + arm64) echo build/arch/arm64/boot/vmlinuz.efi;; x86) echo build/arch/x86/boot/bzImage;; *) die "Unsupported kernel arch '${kernel_arch}'";; esac diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.6 b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.6 index 62ab9e7390..39b52bec79 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.6 +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.6 @@ -71,7 +71,6 @@ CONFIG_ISCSI_IBFT_FIND=y CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_ITCO_WDT=m CONFIG_IGC=m -CONFIG_KERNEL_ZSTD=y CONFIG_KEXEC_FILE=y CONFIG_KPROBES_ON_FTRACE=y CONFIG_KVM=m diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/arm64_defconfig-6.6 b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/arm64_defconfig-6.6 index 0ca2fb3897..e971c6db40 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/arm64_defconfig-6.6 +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/arm64_defconfig-6.6 @@ -32,6 +32,7 @@ CONFIG_CRYPTO_SHA1_ARM64_CE=y CONFIG_CRYPTO_SHA2_ARM64_CE=y # CONFIG_DEBUG_PREEMPT is not set CONFIG_DM_DEBUG=y +CONFIG_EFI_ZBOOT=y CONFIG_FB_ARMCLCD=y CONFIG_GPIO_PL061=y CONFIG_GPIO_XGENE=y diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.6 b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.6 index 83771370bc..de2cbcb2a9 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.6 +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.6 @@ -408,6 +408,7 @@ CONFIG_JME=m CONFIG_JOLIET=y CONFIG_JUMP_LABEL=y CONFIG_KALLSYMS_ALL=y +CONFIG_KERNEL_ZSTD=y CONFIG_KEXEC=y CONFIG_KEYS=y CONFIG_KEY_DH_OPERATIONS=y