Package: initramfs-tools-core Version: 0.136 Severity: wishlist Tags: patch
Hello, there are Kernelpatches for zstandard initramfs support available for several years, and will hopefully accepted upstream soon. Please enable support for this compression. The patch should be simple enough, I chosen to try zstd as first decompressor because it supports a whole range of formats on debian. -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.4.0-4-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages initramfs-tools-core depends on: ii coreutils 8.30-3+b1 ii cpio 2.13+dfsg-2 ii e2fsprogs 1.45.6-1 ii klibc-utils 2.0.7-1 ii kmod 27-2 ii logsave 1.45.6-1 ii udev 244.3-1 Versions of packages initramfs-tools-core recommends: ii busybox 1:1.30.1-4 ii pigz 2.4-1+b1 Versions of packages initramfs-tools-core suggests: ii bash-completion 1:2.10-1 -- Configuration Files: /etc/initramfs-tools/initramfs.conf changed [not included] -- no debconf information
diff -burN initramfs-tools.org/conf/initramfs.conf initramfs-tools/conf/initramfs.conf --- initramfs-tools.org/conf/initramfs.conf 2019-02-06 00:55:47.000000000 +0100 +++ initramfs-tools/conf/initramfs.conf 2020-03-31 18:38:48.558687968 +0200 @@ -38,7 +38,7 @@ KEYMAP=n # -# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ] +# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | zstd | xz ] # COMPRESS=gzip diff -burN initramfs-tools.org/mkinitramfs initramfs-tools/mkinitramfs --- initramfs-tools.org/mkinitramfs 2020-01-18 19:36:00.000000000 +0100 +++ initramfs-tools/mkinitramfs 2020-03-31 18:31:31.046107765 +0200 @@ -185,6 +185,7 @@ fi ;; lz4) compress="lz4 -9 -l" ;; +zstd) compress="zstd -19" ;; xz) compress="xz --check=crc32" # If we're not doing a reproducible build, enable multithreading test -z "${SOURCE_DATE_EPOCH}" && compress="$compress --threads=0" diff -burN initramfs-tools.org/unmkinitramfs initramfs-tools/unmkinitramfs --- initramfs-tools.org/unmkinitramfs 2019-07-31 16:25:58.000000000 +0200 +++ initramfs-tools/unmkinitramfs 2020-03-31 18:36:36.821308275 +0200 @@ -29,7 +29,9 @@ dir="$2" shift 2 - if gzip -t "$archive" >/dev/null 2>&1 ; then + if zstd -q -c -t "$archive" >/dev/null 2>&1 ; then + zstd -q -c -d "$archive" + elif gzip -t "$archive" >/dev/null 2>&1 ; then gzip -c -d "$archive" elif xzcat -t "$archive" >/dev/null 2>&1 ; then xzcat "$archive"