Package: cryptsetup-initramfs Version: 2:2.6.1-4~deb12u1 Severity: wishlist Tags: patch
Dear Maintainer, When Linux is configured with CONFIG_MODULE_COMPRESS_{GZIP,XZ,ZSTD}, modules are compressed and stored with a .ko.{gz,xz,zst} extension. This causes the cryptroot hook script not to add the modules to the initramfs, which can cause boot failures. Although compression is not currently enabled in any Debian kernel configuration that I'm aware of, it would be nice if cryptsetup-initramfs could support this configuration for downstream distributions and users with custom kernels. I've attached a patch to add support, as done by initramfs-tools: https://salsa.debian.org/kernel-team/initramfs-tools/-/commit/8c806b446fab5f5807651a5c7869141837592ecd Note that the situation has changed a bit since that commit and kmod now supports zstd (Bug 990092) in addition to xz (Bug 772628). Thanks for considering, Kevin -- Package-specific info: -- System Information: Debian Release: 12.0 APT prefers testing-debug APT policy: (990, 'testing-debug'), (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-security'), (500, 'stable-debug'), (500, 'unstable'), (500, 'stable'), (101, 'experimental'), (1, 'experimental-debug') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.4.0-rc1+ (SMP w/4 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages cryptsetup-initramfs depends on: ii busybox 1:1.35.0-4+b3 ii cryptsetup 2:2.6.1-4~deb12u1 ii debconf [debconf-2.0] 1.5.82 ii initramfs-tools [linux-initramfs-tool] 0.142 Versions of packages cryptsetup-initramfs recommends: ii console-setup 1.220 ii kbd 2.5.1-1+b1 cryptsetup-initramfs suggests no packages. -- debconf information excluded
>From e52a22ea1ccc9bc66f80d1e3d2eb9ed5e92e4022 Mon Sep 17 00:00:00 2001 Message-Id: <e52a22ea1ccc9bc66f80d1e3d2eb9ed5e92e4022.1684069670.git.ke...@kevinlocke.name> From: Kevin Locke <ke...@kevinlocke.name> Date: Sat, 13 May 2023 22:37:01 -0600 Subject: [PATCH] initramfs: cryptroot support compressed modules When Linux is configured with CONFIG_MODULE_COMPRESS_{GZIP,XZ,ZSTD}, modules are compressed and stored with a .ko.{gz,xz,zst} extension. This causes the cryptroot hook script not to add the modules to the initramfs, which can cause boot failures. Match module files with additional extensions, as in https://salsa.debian.org/kernel-team/initramfs-tools/-/commit/8c806b446fab5f5807651a5c7869141837592ecd for initramfs-tools. Note that kmod now supports zstd (Bug 990092) in addition to xz (Bug 772628). Signed-off-by: Kevin Locke <ke...@kevinlocke.name> --- debian/initramfs/hooks/cryptroot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/initramfs/hooks/cryptroot b/debian/initramfs/hooks/cryptroot index 35577865..7b438593 100644 --- a/debian/initramfs/hooks/cryptroot +++ b/debian/initramfs/hooks/cryptroot @@ -266,8 +266,8 @@ populate_CRYPTO_MODULES() { add_modules() { local glob="$1" found=n shift - for mod in $(find -H "$@" -name "$glob.ko" -type f -printf '%f\n'); do - manual_add_modules "${mod%.ko}" + for mod in $(find -H "$@" -name "$glob.ko*" -type f -printf '%f\n'); do + manual_add_modules "${mod%.ko*}" found=y done [ "$found" = y ] && return 0 || return 1 -- 2.39.2