It would appear that there is something broken with the current Makefile
when crosscompiling - I need a bit of help figuring out a proper solution.
In this case it's barely cross compiling, I just want to use a kernel I
compiled somewhere, but isn't installed (I'm also in a chroot).
According to the docs (http://linuxwireless.org/en/users/Download) I
should do something like:
make KLIB=/home/mcgrof/kernels/linux-2.6.27.22 \
KLIB_BUILD=/home/mcgrof/kernels/linux-2.6.27.22
However, the makefile then installs the files in completely the wrong
location, eg the following puts the files in
/usr/src/linux/lib/modules/2.6.30.5-grsec-wrap/ !!
make KLIB=/usr/src/linux \
KLIB_BUILD=/usr/src/linux install-modules
So KLIB should apparently be something like /lib/modules/xyz. However,
this is still wrong because the line below puts the files in:
/lib/modules/2.6.30.5-grsec-wrap/lib/modules/2.6.30.5-grsec-wrap/
make KLIB=/lib/modules/2.6.30.5-grsec-wrap/ \
KLIB_BUILD=/usr/src/linux install-modules
Adding unsetting KMODPATH_ARG seems to do the trick (but seems unintended?):
make KLIB=/lib/modules/2.6.30.5-grsec-wrap/ \
KLIB_BUILD=/usr/src/linux KMODPATH_ARG= install-modules
But I still get repeated errors while building (where this is the
currently running kernel, but the modules dir is unavailable in this
chroot):
FATAL: Could not load
/lib/modules/2.6.29.6-grsec2.1.14-vs2.3.0.36.14/modules.dep: No such
file or directory
FATAL: Could not load
/lib/modules/2.6.29.6-grsec2.1.14-vs2.3.0.36.14/modules.dep: No such
file or directory
This appears to be caused by these lines at the top of the makefile:
MADWIFI=$(shell $(MODPROBE) -l ath_pci)
OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
Clearly these need some parametrisation to include the running kernel
name. Something like this might pluck out the correct
uname:
KERNELRELEASE = $(cat $(KLIB_BUILD)/include/config/kernel.release 2>
/dev/null)
I'm not quite clear what all the KLIB/KLIB_BUILD vars are supposed to be
achieving, but at present they aren't working correctly when overridden
to build a non installed kernel. I'm surprised more people aren't
hitting this?
Grateful if someone with a bit more experience could suggest a proper fix?
Thanks
Ed W
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html