I am trying to backport Linux wifi drivers from 3.11 to linux-omap-l1(2.6.39). I set up the cross compiler on my Ubuntu 11.4 (kernel is 2.6.38-11-generic) and verified that the cross-compiled kernel can run on an ARM processor as expected. I also was able to backport the wifi drivers to this Ubuntu by following the "Usage Guide" section. However, I have problem to cross compile the wifi backports. Here are two attempts I did:
Attempt#1
Following the "Cross compiling" section from the same link above, I set ARCH(=arm), CROSS_COMPILER, KLIB_BUILD(=linux-omap-l1 directory) and KLIB(=linux-omap-l1 directory), ran make defconfig-wifi, then ran make -j4. It finished without any error. However when I check the generated ko files, they are apparently not cross compiled because they look like "rt2x00usb.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped"
Attempt#2
Then I cleaned the old make result and passed the above four macros directly to make as arguments and ran it again. This time it reported many errors complaining of missing printk.h, atomic.h and average.h
Please help with either of the cases above.
make ARCH=arm menuconfig
. The defconfig-wifi may over-ride your ARM kernel config. Is defconfig-wifi for an x86? Probably better to take a working.config
and set the needed Wifi options. Share your different config files somehow. You can build without any wifi backports? – artless noisemake ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j4
. Remember to add the cross-compiler to the shell $PATH and pass the proper cross-compiler using theCROSS_COMPILE
parameter. – TheCodeArtist