вторник

[Bug 2154307] Re: DKMS modules installed as .ko.zst; are not included in initramfs

** Tags added: kernel-daily-bug -- You received this bug notification because you are subscribed to linux in Ubuntu. Matching subscriptions: Bgg, Bmail, Nb https://bugs.launchpad.net/bugs/2154307 Title: DKMS modules installed as .ko.zst; are not included in initramfs Status in linux package in Ubuntu: New Bug description: DKMS-built kernel modules are installed as .ko.zst (zstd-compressed) rather than uncompressed .ko files. The initramfs-tools module inclusion code does not handle .ko.zst files — it finds and includes only uncompressed .ko files. As a result, DKMS-managed modules are absent from the initramfs, and drivers depending on them fail to load at early boot. The current workaround are manual steps to run unzstd --rm on the modules, depmod -a, and update-initramfs to include them. Affected kernels (confirmed on this system): 6.8.0-50-generic: broken (first occurrence) 6.11.0-24-generic: broken 6.11.0-25-generic: broken 6.11.0-26-generic: working (uncompressed .ko files present after upgrade) 6.11.0-28-generic: broken (regression) All subsequent kernels through 6.17.0-29-generic: broken Cause: July 2023, a patch series by Dimitri John Ledkov was applied to Ubuntu's kernel packaging to enable zstd-compressed modules: https://lists.ubuntu.com/archives/kernel-team/2023-July/141412.html The patch series description makes clear the intent was for DKMS-built modules to remain uncompressed. It explicitly states: "the makefile is patched to not attempt installing random modules compressed — this is to ensure that any dkms / lrm / modules builds." However, in practice, DKMS reads CONFIG_MODULE_COMPRESS_ZSTD from the kernel configuration and compresses its output accordingly, regardless of that intent. The result is that DKMS modules are installed as .ko.zst rather than as .ko. Investigation shows initramfs-tools does have .zst handling, but only in the add_firmware() function (searching /lib/firmware/ paths). There is no corresponding .zst handling in the module inclusion code path. Confirmed by: $ grep -A 10 -B 10 "zst" /usr/share/initramfs- tools/hook-functions This leaves a conflict between the actions of the components: - Ubuntu kernel packaging compresses modules and intends to exclude DKMS — but does not fully achieve that exclusion - DKMS follows CONFIG_MODULE_COMPRESS_ZSTD from the kernel config and compresses its output - initramfs-tools has no .zst handling in its module inclusion path, only in its firmware path Environment: Distribution: Linux Mint 22.3 (Ubuntu Noble/24.04 base) Kernel: Affects 6.8.0-50-generic and all subsequent kernels tested through 6.17.0-29-generic, with one exception noted above GPU: NVIDIA GeForce GTX 1660 Super NVIDIA driver: 580.159.03 (nvidia-dkms-580) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2154307/+subscriptions

Комментариев нет:

Отправить комментарий