From 722cdf26f4ad3f45445dc99a08add1b6a840ad90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 19 Dec 2023 15:31:19 +0100 Subject: [PATCH] Enable ZSTD compression of firmware files (#3001) Compress firmware files from linux-firmware using ZSTD algorithm. This should grant us some more space to add more firmwares and should not have any major performance impact, because firmwares are not accessed frequently. Includes buildroot submodule bump: * buildroot 07e08e01b2...8a75878da4 (1): > linux-firmware: add option for firmware files compression --- buildroot | 2 +- buildroot-external/configs/generic_aarch64_defconfig | 2 ++ buildroot-external/configs/generic_x86_64_defconfig | 2 ++ buildroot-external/configs/green_defconfig | 2 ++ buildroot-external/configs/khadas_vim3_defconfig | 2 ++ buildroot-external/configs/odroid_c2_defconfig | 2 ++ buildroot-external/configs/odroid_c4_defconfig | 2 ++ buildroot-external/configs/odroid_m1_defconfig | 2 ++ buildroot-external/configs/odroid_n2_defconfig | 2 ++ buildroot-external/configs/odroid_xu4_defconfig | 2 ++ buildroot-external/configs/ova_defconfig | 2 ++ buildroot-external/configs/rpi2_defconfig | 2 ++ buildroot-external/configs/rpi3_64_defconfig | 2 ++ buildroot-external/configs/rpi3_defconfig | 2 ++ buildroot-external/configs/rpi4_64_defconfig | 2 ++ buildroot-external/configs/rpi4_defconfig | 2 ++ buildroot-external/configs/rpi5_64_defconfig | 2 ++ buildroot-external/configs/tinker_defconfig | 2 ++ buildroot-external/configs/yellow_defconfig | 2 ++ buildroot-external/kernel/hassos.config | 3 +++ 20 files changed, 40 insertions(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 07e08e01b..8a75878da 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 07e08e01b29933ea2370acb4a39c779a72e05c7d +Subproject commit 8a75878da422b4fb26578de3a6760aef8c4fccaa diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index 2f4a3fa17..e2bcaa557 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -35,6 +35,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_I915=y BR2_PACKAGE_LINUX_FIRMWARE_IBT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index b31cc8771..0bbf53f7b 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -35,6 +35,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_AMDGPU=y BR2_PACKAGE_LINUX_FIRMWARE_I915=y BR2_PACKAGE_LINUX_FIRMWARE_IBT=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index a165e934c..f5372a598 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -44,6 +44,8 @@ BR2_PACKAGE_MTD=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 744823957..b00353119 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -39,6 +39,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 5b7b22ea6..77a055766 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -39,6 +39,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index eb922e63c..4dd20dc8e 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -37,6 +37,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index e7a984146..de1cd0381 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -39,6 +39,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index adc936b87..49c6cd13e 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -39,6 +39,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 5df52cab6..cc0b04de6 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -38,6 +38,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index d71b8fbce..1e4f4e14b 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -39,6 +39,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_I915=y BR2_PACKAGE_LINUX_FIRMWARE_IBT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index b590e148f..74b8fab2c 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -39,6 +39,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index a2cb9ba0b..af4a3d60a 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -41,6 +41,8 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 1823e7290..0012ffc55 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -42,6 +42,8 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 054b2e19e..ce58d2ac9 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -42,6 +42,8 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 3547bb927..2e3043552 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -42,6 +42,8 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/rpi5_64_defconfig b/buildroot-external/configs/rpi5_64_defconfig index 59587c227..e148ef7e5 100644 --- a/buildroot-external/configs/rpi5_64_defconfig +++ b/buildroot-external/configs/rpi5_64_defconfig @@ -44,6 +44,8 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 6c31b08ce..0ffd1c359 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -41,6 +41,8 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index 665726834..cc0740475 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -43,6 +43,8 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y +BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y diff --git a/buildroot-external/kernel/hassos.config b/buildroot-external/kernel/hassos.config index 5ccc0b128..7b00a4fb3 100644 --- a/buildroot-external/kernel/hassos.config +++ b/buildroot-external/kernel/hassos.config @@ -19,6 +19,9 @@ CONFIG_IKCONFIG_PROC=y CONFIG_MODULE_COMPRESS_NONE=y # CONFIG_MODULE_COMPRESS_XZ is not set +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y + CONFIG_ZRAM=y CONFIG_ZSWAP=y CONFIG_ZSWAP_DEFAULT_ON=y