Source: tiny-initramfs Followup-For: Bug #1063142 Control: tags -1 patch -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
The attached patch works for both linux-image-6.5.0-5-amd64 (uncompressed kernel modules) and linux-image-6.6.13-amd64 (xz-compressed kernel modules). There are other compressors possible for kernel modules (gzip and zstd), but I targeted this fix as much as possible. - -- Vriendelijke groet, Kind regards, Victor Westerhuis - -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (100, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 6.6.13-amd64 (SMP w/4 CPU threads; PREEMPT) Locale: LANG=en_NL.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en_US:en:nl_NL:nl Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) - -- no debconf information -----BEGIN PGP SIGNATURE----- iQJHBAEBCAAxFiEE6OxII3T+o0Ujs6ECQz2Rq5dHQPsFAmXAwcETHHZpY3RvckB3 ZXN0ZXJodS5pcwAKCRBDPZGrl0dA+xJUD/9RtYxcePghLf2n9ZGA+V/zPRanexXj 9PflsIPJ8+fWDd5JfHBzVPWAUabEZotggzSkppGKegOLWKGTMqQishsFX39MmbrA Ht/O7wusUmpLBXu2tp8mfAEFvAxnKAzUzoIKi9PZKAurRyk1imzrNxieQBCfotgd WsKumqHaXOpVFQuRZfxunK9D3t/HRZwG99aMtSo5DemZASnh4BT4H66XkQaG0wwb Nb60o5Gdy6KMs/IJMLA2I9lo/uVHHPMeOoOu3M33uB0D5q9bDDqshnAzxflBCazw P864wswsYipt+npn7resBR76O5i7MhR+UryO7rJpKbt3FCf9dtQSn9707256wX6o 5eoFQfybzyoiX22uUbUabie7a/lIPQhBoGDjhnmxw/5HJ/Uqiws7WsqBQhvL2uDA bFAFi5/HYMTh7yj01PNNa6F0Ep0SzG35ywiXT5VSFuWLd/FzYNaJLYxv+0ZkBMID LIMIp89qCQ1SqDKS194BkDC680u00lPgC2jLHTtMODEiBJH8kf9ZYzcQCSj01Agx ajhm+dR5ckmKb+PBXZzIqjpc7b1+CR+gmjhwrQPq+AFV73tTjtpKOMhOYtEfuffD AM92tO2t/A523iPxpGUPjpQcjTJqc3ylBwnMjtyzXjvWu32cLyE9Ue6e9Gt4/v6L FYag/VjpodGFnw== =M4yi -----END PGP SIGNATURE-----
diff -Nru tiny-initramfs-0.1/debian/changelog tiny-initramfs-0.1/debian/changelog --- tiny-initramfs-0.1/debian/changelog 2017-09-12 17:49:40.000000000 +0200 +++ tiny-initramfs-0.1/debian/changelog 2024-02-05 11:33:39.000000000 +0100 @@ -1,3 +1,10 @@ +tiny-initramfs (0.1-5.1) unstable; urgency=high + + * Non-maintainer upload. + * Decompress kernel modules included in initramfs. (Closes: #1063142) + + -- Victor Westerhuis <vic...@westerhu.is> Mon, 05 Feb 2024 11:33:39 +0100 + tiny-initramfs (0.1-5) unstable; urgency=medium [ Free Ekanayaka ] diff -Nru tiny-initramfs-0.1/debian/control tiny-initramfs-0.1/debian/control --- tiny-initramfs-0.1/debian/control 2017-09-12 17:49:40.000000000 +0200 +++ tiny-initramfs-0.1/debian/control 2024-02-05 11:32:21.000000000 +0100 @@ -24,7 +24,7 @@ Package: tiny-initramfs-core Architecture: linux-any Multi-Arch: foreign -Depends: cpio, ${shlibs:Depends}, ${misc:Depends} +Depends: cpio, xz-utils, ${shlibs:Depends}, ${misc:Depends} Built-Using: ${Built-Using} Description: Minimalistic initramfs implementation (core tools) A very minimalistic initramfs implementation for booting Linux diff -Nru tiny-initramfs-0.1/debian/extra/functions tiny-initramfs-0.1/debian/extra/functions --- tiny-initramfs-0.1/debian/extra/functions 2017-09-12 17:49:40.000000000 +0200 +++ tiny-initramfs-0.1/debian/extra/functions 2024-02-05 11:33:39.000000000 +0100 @@ -208,9 +208,18 @@ fi /sbin/modprobe --all --ignore-install --set-version="${VERSION}" --quiet --show-depends "$@" | \ awk '$1 == "insmod" { print; }' | while read dummy_type mod_file mod_options ; do - mod_name=${mod_file##*/} + mod_name=$(basename "$mod_file" | sed -E 's/(.*\.ko)(\..*)?/\1/') + mod_compression=$(basename "$mod_file" | sed -E 's/(.*\.ko)(\..*)?/\2/') if ! grep -q ^/"${mod_name}" "${initramfs_dir}/modules" ; then - cp "${mod_file}" "${initramfs_dir}/${mod_name}" + if [ "$mod_compression" = .xz ] ; then + xzcat "${mod_file}" > "${initramfs_dir}/${mod_name}" + elif [ -z "$mod_compression" ] ; then + cp "${mod_file}" "${initramfs_dir}/${mod_name}" + else + echo "$0: WARNING: unable to determine compression for modules while adding modules" >&2 + echo "YOUR SYSTEM MIGHT NOT BOOT WITH THIS INITRAMFS." >&2 + cp "${mod_file}" "${initramfs_dir}/${mod_name}" + fi printf "%s\n" "/${mod_name}${mod_options:+ $mod_options}" >> "${initramfs_dir}/modules" fi done