From ca6249b4b7d00b6f16e1a7264f55a4814300df63 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Thu, 25 Apr 2024 14:03:03 +0400 Subject: [PATCH] feat: compress amd64 Linux kernel using zstd This increases the kernel size, but moves us away from xz and improves decompression speed. Also enable ZSTD firmware loading (not used yet). Linux arm64 kernel is compressed with zstd already in 1.8+. Signed-off-by: Andrey Smirnov --- kernel/build/config-amd64 | 7 ++++--- kernel/build/config-arm64 | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/kernel/build/config-amd64 b/kernel/build/config-amd64 index 13ac3d83..215884c6 100644 --- a/kernel/build/config-amd64 +++ b/kernel/build/config-amd64 @@ -16,6 +16,7 @@ CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y +CONFIG_TOOLS_SUPPORT_RELR=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_PAHOLE_VERSION=126 @@ -42,10 +43,10 @@ CONFIG_HAVE_KERNEL_ZSTD=y # CONFIG_KERNEL_GZIP is not set # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set -CONFIG_KERNEL_XZ=y +# CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set -# CONFIG_KERNEL_ZSTD is not set +CONFIG_KERNEL_ZSTD=y CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SYSVIPC=y @@ -1910,7 +1911,7 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set CONFIG_FW_LOADER_COMPRESS=y CONFIG_FW_LOADER_COMPRESS_XZ=y -# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set +CONFIG_FW_LOADER_COMPRESS_ZSTD=y CONFIG_FW_CACHE=y # CONFIG_FW_UPLOAD is not set # end of Firmware loader diff --git a/kernel/build/config-arm64 b/kernel/build/config-arm64 index 6d9178ea..d5714e7a 100644 --- a/kernel/build/config-arm64 +++ b/kernel/build/config-arm64 @@ -1985,7 +1985,7 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set CONFIG_FW_LOADER_COMPRESS=y CONFIG_FW_LOADER_COMPRESS_XZ=y -# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set +CONFIG_FW_LOADER_COMPRESS_ZSTD=y CONFIG_FW_CACHE=y # CONFIG_FW_UPLOAD is not set # end of Firmware loader