FS#22949 - [kernel26] 2.6.37-5 no compression for external modules

Attached to Project: Arch Linux
Opened by Daniel Schulte (dasch) - Friday, 18 February 2011, 16:00 GMT
Last edited by Tobias Powalowski (tpowa) - Saturday, 26 March 2011, 16:04 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

I compiled the carl9170-driver aur package. It's based on compat wireless. The carl9170 module already exists in the kernel as a compressed .ko.gz version, the aur package results in a .ko-file.
It seems that "depmod -a" does not work properly when mixing compressed and non-compressed modules.
I think this is not a problem for modules that don't exist in the kernel, like nvidia or virtualbox.

It seems that you can configure that in this file "/usr/src/linux-2.6.37-ARCH/scripts/Makefile.modinst"
I found it here: https://patchwork.kernel.org/patch/4039/
Thats the reason why I think it is a kernel bug. I think running "make ... install_modules" should result in a compressed .ko.gz module.

This error occurs with kernel26 2.6.37 -4 & -5 & -6
It did not occur on kernel26 2.6.36-x
It does not occur on kernel26-pf 2.6.37 (kernel26-pf does not use compressed modules)

Additional info:
I described this problem in the forum because I'm not completely sure tha it's kernel related
https://bbs.archlinux.org/viewtopic.php?id=113627

The problem was discussed here
http://aur.archlinux.org/packages.php?ID=44100 and here
http://aur.archlinux.org/packages.php?ID=41485

Steps to reproduce:
Install a new version of a kernel module that already exists in the kernel. Run depmod -a, reboot, see freeze on boot or kernel oops.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Saturday, 26 March 2011, 16:04 GMT
Reason for closing:  Not a bug
Additional comments about closing:  You need to zip your modules yourself
Comment by Dave Reisner (falconindy) - Saturday, 19 February 2011, 17:03 GMT
The patch you reference was never merged and the Kconfig option doesn't exist. The make modules_compress_gzip target doesn't exist either. It would be helpful to attach the relevant depmod files here to see how the dual existance is being handled.
Comment by Daniel Schulte (dasch) - Monday, 21 February 2011, 17:40 GMT
Maybe you can help me, which files /log / information I should attach.

For example the carl9170-driver package gives me a new carl9170 module, but also other modules like ath,mac80211,cfg80211.
With kernel26 only the carl9170 module is taken from the update path, the others are in-kernel modules. I can see the paths with "depmod -n | grep carl9170"
With kernel26-pf all related module are taken from the /lib/modules/2.6.37-pf/updates/ path and it works.

The dual existence should not be the problem because the mac80211, cfg80211 modules also existed in older kernels like 2.6.36 and there was no problem.
If you open again my last link in the first post, you can see that another user solves the problem by compressing all .ko file with gzip.

The main question is: Should a "make install_modules" result in a compressed module when the in-kernel modules are compressed and is the kernel responsible for this?
If you say: No it should not, add the gzip command in the PKGBUILD, then we can close this bug report.
But then you can't use the same PKGBUILD for a kernel without module compression like kernel26-pf.
Comment by Dave Reisner (falconindy) - Monday, 21 February 2011, 17:50 GMT
the kernel26 PKGBUILD calls something similar to:

find -type f -name '*.ko' -exec gzip -9 {} \;

The kernel isn't in charge of this. It's strictly userland. I think your PKGBUILD should too.

Loading...