-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
dkms built modules may be compressed in a way unsupported by the kernel #386
Comments
The only thing that comes off the top of my head is the --ultra Kernel supports up-to level 14 (or was it 20), where for 20+ you need to use IIRC newer versions of kmod will pass the compressed module directly to the kernel. Older ones will decompress it before hand. Perhaps kmod could (or should?) callback and uncompress if the kernel cannot load the compressed module? |
this is about xz not zstd the relevant option here should be but then again, why can't module compression be delegated to kbuild? the kernel probably knows best how it wants its modules ... does dkms really have to reinvent that? |
in the Linux git master as of today:
|
Currently our compression options vary from those used in upstream kernel. As of 6.8-rc2 upstream uses (ignoring force/rm input file etc): - gzip -9 - xz --check=crc32 --lzma2=dict=1MiB Note: some older kernels lacked crc32 and/or used 2MiB - zstd -T0 (aka -3) With the higher dictionary size (xz) and compression size (20+ zstd) more memory is required for decompression. Which may be a problem if the kernel itself is responsible for the decompression (instead of kmod), since it uses a smaller/limited ram amount. Reduce the numbers of be compatible with upstream. Closes: dell#386 Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Right - turns out both of our xz and zstd commands needed a tweak. The issue should be resolved with #390 You are right though - ideally we'll be using the upstream For the short term, I think we can fix our cmdline args. If anyone want to pursue the |
Currently our compression options vary from those used in upstream kernel. As of 6.8-rc2 upstream uses (ignoring force/rm input file etc): - gzip -9 - xz --check=crc32 --lzma2=dict=1MiB Note: some older kernels lacked crc32 and/or used 2MiB - zstd -T0 (aka -3) With the higher dictionary size (xz) and compression size (20+ zstd) more memory is required for decompression. Which may be a problem if the kernel itself is responsible for the decompression (instead of kmod), since it uses a smaller/limited ram amount. Reduce the numbers of be compatible with upstream. Closes: dell#386 Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Currently our compression options vary from those used in upstream kernel. As of 6.8-rc2 upstream uses (ignoring force/rm input file etc): - gzip -9 - xz --check=crc32 --lzma2=dict=1MiB Note: some older kernels lacked crc32 and/or used 2MiB - zstd -T0 (aka -3) With the higher dictionary size (xz) and compression size (20+ zstd) more memory is required for decompression. Which may be a problem if the kernel itself is responsible for the decompression (instead of kmod), since it uses a smaller/limited ram amount. Reduce the numbers of be compatible with upstream. Closes: #386 Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
from https://bugs.debian.org/1061427
dkms compresses some of the packages it builds. I guess this depends on the
kernel config that it builds for.
With xz compression, it compresses it in a way that's not compatible with
kernel's xz. The difference seems to be the CRC:
The text was updated successfully, but these errors were encountered: