[openwrt/openwrt] kernel: fix initramfs reproducibility

LEDE Commits lede-commits at lists.infradead.org
Wed Apr 6 09:23:49 PDT 2022


dangole pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/ca83af21ccd510d260d20775a50045e7afca7211

commit ca83af21ccd510d260d20775a50045e7afca7211
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Tue Mar 29 13:54:14 2022 +0100

    kernel: fix initramfs reproducibility
    
    Make sure xz uses at least 2 threads so compression always runs in
    multi-threaded mode as the resulting file in single-threaded mode
    differs.
    
    Fixes: 29d7461d11 ("kernel: set options to make external initramfs reproducible")
    Signed-off-by: Daniel Golle <daniel at makrotopia.org>
    (cherry picked from commit fc6a83e63b187ecfd0e427c062ae09e3c104e291)
---
 include/kernel-defaults.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
index af1d59c481..1e82f7d739 100644
--- a/include/kernel-defaults.mk
+++ b/include/kernel-defaults.mk
@@ -181,7 +181,7 @@ endif
 	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),gzip -n -f -S .gzip -9n $(KERNEL_BUILD_DIR)/initrd.cpio)
 	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),$(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 $(KERNEL_BUILD_DIR)/initrd.cpio $(KERNEL_BUILD_DIR)/initrd.cpio.lzma)
 # ?	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),)
-	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),$(STAGING_DIR_HOST)/bin/xz -T0 -9 -fz --check=crc32 $(KERNEL_BUILD_DIR)/initrd.cpio)
+	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),$(STAGING_DIR_HOST)/bin/xz -T$(if $(filter 1,$(NPROC)),2,0) -9 -fz --check=crc32 $(KERNEL_BUILD_DIR)/initrd.cpio)
 # ?	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),)
 	$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD),$(STAGING_DIR_HOST)/bin/zstd -T0 -f -o $(KERNEL_BUILD_DIR)/initrd.cpio.zstd $(KERNEL_BUILD_DIR)/initrd.cpio)
 endif




More information about the lede-commits mailing list