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"

Reply via email to