From 38e9744cc23a4911aef6f07f056463ece933ed98 Mon Sep 17 00:00:00 2001 From: Jeremi Piotrowski Date: Mon, 9 Dec 2024 11:07:00 +0000 Subject: [PATCH 1/2] 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 0ea1ee111b5..d6aa21caf5c 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 62ab9e73909..39b52bec79c 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 0ca2fb38973..e971c6db406 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 83771370bc3..de2cbcb2a9c 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 From d824d15a40dda943824896561a7c53d1135d356d Mon Sep 17 00:00:00 2001 From: Jeremi Piotrowski Date: Mon, 9 Dec 2024 12:57:49 +0000 Subject: [PATCH 2/2] changelog: Add entry for EFI_ZBOOT change Signed-off-by: Jeremi Piotrowski --- changelog/changes/2024-12-09-arm64-zboot.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/changes/2024-12-09-arm64-zboot.md diff --git a/changelog/changes/2024-12-09-arm64-zboot.md b/changelog/changes/2024-12-09-arm64-zboot.md new file mode 100644 index 00000000000..fbe711856b9 --- /dev/null +++ b/changelog/changes/2024-12-09-arm64-zboot.md @@ -0,0 +1 @@ +- Enabled EFI_ZBOOT on arm64 which results in a compressed kernel, saving space on the /boot partition. ([scripts#2507](https://github.com/flatcar/scripts/pull/2507))