From 23a13b562cb7f1dd8a13aba1863a16aee329019b Mon Sep 17 00:00:00 2001 From: Danylo Hlynskyi Date: Thu, 17 Jan 2019 15:24:44 +0200 Subject: [PATCH] kernel config: add support for CONFIG_SQUASHFS_ZSTD (#52967) Also, allow override `make-squashfs.nix` compression parameters. --- nixos/lib/make-squashfs.nix | 5 ++++- pkgs/os-specific/linux/kernel/common-config.nix | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix index 7ab84e47f53..ee76c9c5bf2 100644 --- a/nixos/lib/make-squashfs.nix +++ b/nixos/lib/make-squashfs.nix @@ -3,6 +3,9 @@ , # The root directory of the squashfs filesystem is filled with the # closures of the Nix store paths listed here. storeContents ? [] +, # Compression parameters. + # For zstd compression you can use "zstd -Xcompression-level 6". + comp ? "xz -Xdict-size 100%" }: stdenv.mkDerivation { @@ -20,6 +23,6 @@ stdenv.mkDerivation { # Generate the squashfs image. mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out \ - -keep-as-directory -all-root -b 1048576 -comp xz -Xdict-size 100% + -keep-as-directory -all-root -b 1048576 -comp ${comp} ''; } diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index ab4b1cc2fc9..1466b51b261 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -320,6 +320,7 @@ let SQUASHFS_LZO = yes; SQUASHFS_XZ = yes; SQUASHFS_LZ4 = yes; + SQUASHFS_ZSTD = whenAtLeast "4.14" yes; # Native Language Support modules, needed by some filesystems NLS = yes;