Bugzilla – Bug 556
module install locations
Last modified: 2005-10-06 15:21:52
You need to log in before you can comment on or make changes to this bug.
Beginning with the update kernel 2.6.9-1.724, Fedora Core 3 kernels come with an early version of the ipw2100, ipw2200, and ieee80211 modules. These modules are installed in the directories /lib/modules/<version./kernel/drivers/net/wireless/ieee80211 /lib/modules/<version./kernel/drivers/net/wireless/ipw2100 /lib/modules/<version./kernel/drivers/net/wireless/ipw2200 Users who are not aware of this change may install from source and end up with two sets of modules installed. So far the solution has been to remove the above listed directories, install from source, and reboot. A better solution might be for the ipw2x00 developers to change the installation directories used by these projects to conform to the above locations or else file a bug with FC3 project requesting that the FC3 installation directories be changed. Beginning with the FC3 2.6.9-1.724 update kernels, these kernels are compiled with the CONFIG_IEEE80211=m # CONFIG_IEEE80211_DEBUG is not set CONFIG_IEEE80211_CRYPT=m CONFIG_IEEE80211_WPA=m CONFIG_IEEE80211_CRYPT_CCMP=m CONFIG_IEEE80211_CRYPT_TKIP=m CONFIG_IPW2100=m # CONFIG_IPW_DEBUG is not set CONFIG_IPW2100_PROMISC=y # CONFIG_IPW2100_LEGACY_FW_LOAD is not set CONFIG_IPW2200=m These settings seem shorted sighted. As a general rule, I suggest that debugging be turned on and continue to be turned until a driver reaches sufficient maturity. To allow the general user to help with debugging, it would be preferable to use the configuration CONFIG_IPW_DEBUG=y # CONFIG_IPW2100_PROMISC is not set until ipw2200 reaches the 1.0 level. If you aggree, I suggest you file a bug with the FC3 project asking for this change.
External kernel modules should not install to /lib/modules/`uname -r`/kernel/ by default - this is reserved for in-kernel modules. The described problem exists everywhere in the *nix world. Take for instance /usr/local/bin vs. /usr/bin. I suggest closing this bug report as WONTFIX or INVALID since it, from a *nix point of view, is a user error.
I am closing this bug. But if this is the rule, "External kernel modules should not install to /lib/modules/`uname -r`/kernel/ by default - this is reserved for in-kernel modules." then a 'make install' is currently violating this rule.
Reopen the bug to get more input on the question asked by Bill Moss.
Brix -- where should external modules install into? Is there a "standardish" location for them that is included in depmod paths? Currently 'make install' will install the modules into /lib/modules/`uname -r`/kernel/drivers/net/wireless/ Is there a better location? Thanks, James
Setting to needsmoredata.
Well... it makes more sense to install them to /lib/modules/`uname -r`/drivers/net/wireless/ as this path will not be overwritten when running 'make modules_install' in the kernel sources. It's Gentoo policy to install in-kernel modules to /lib/modules/`uname -r`/kernel/foo/ and all external kernel modules to /lib/modules/`uname -r`/foo/
Fixed in 1.0.3 w/ install location changed to /lib/modules/`uname -r`/drivers/net/wireless
The bug is verified in ipw2200 1.0.3.
Install 1.0.3 to FC3 will cause 2 sets of ipw2200 drivers in /lib/modules/`uname -r` and confuse depmod. The result is neither driver will be load by modprobe. I suggest rolling back to /lib/modules/`uname -r`/kernel/drivers/net/wireless. If you are building an external module, you're not going to use the old in-kernel one. So just override it.
I would rather modify 'make install' to scan the depmod path looking for old versions and warn the user than roll back. Otherwise every time you do a 'make modules_install' in your kernel tree you will lose the ipw* and ieee* drivers.
Marking this bug as fixed, and opened a new bug #636 to track comment #10.