我试图将3.11中的Linux wifi驱动程序移植到linux L1(2.6.39)。我在我的Ubuntu11.4(内核是2.6.38-11泛型)上设置了交叉编译器,并验证了交叉编译的内核可以按照预期在ARM处理器上运行。我还能够通过跟踪“使用指南”部分将wifi驱动程序移植到这个Ubuntu。然而,我有问题交叉编译wifi支持。以下是我所做的两次尝试:
Attempt#1
在上面同一链接中的“交叉编译”部分之后,我设置了ARCH(=arm)、CROSS_COMPILER、KLIB_BUILD(=linux L1目录)和KLIB(=linux L1目录),运行make wifi,然后运行make -j4。它完成时没有任何错误。然而,当我检查生成的ko文件时,它们显然不是交叉编译的,因为它们看起来像"rt2x00usb.ko: ELF 32位LSB可重定位,Intel 80386,version 1 (SYSV),而不是剥离“。
Attempt#2
然后我清理旧的make结果,直接传递上面的四个宏作为参数,然后再运行它。这一次,它报告了许多错误,抱怨缺少printk.h、atomic.h和average.h。
请帮助处理上述任何一种情况。
发布于 2013-11-12 17:27:16
我在这里发布了rt2800usb wifi解决方案,以供其他人参考。下列步骤交叉编译成功:
发布于 2014-06-13 14:07:00
我的内核config.....mac80211设置为内核配置中的模块,当我在backport的菜单配置中搜索mac80211时,它显示为已禁用。试过上面的..。
set -a
CROSS_COMPILE="/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi-"
ARCH=arm
KLIB_BUILD="/home/xxx/rpm/BUILD/linux"
KLIB="/home/xxx/rootfs/lib/modules/2.6.35.3-998-ga1cd8a7/updates"
set +a
make defconfig-wifi
make menuconfig发布于 2014-06-27 18:27:44
我发现这个很成功..。
make defconfig-wifi CROSS_COMPILE=/home/xxx/Downloads/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/arm-linux-gnueabi- ARCH=arm KLIB_BUILD=/home/xxx/Downloads/linux-3.10/ KLIB=/home/xxx/Downloads/rootfs/
make menuconfig CROSS_COMPILE=/home/xxx/Downloads/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/arm-linux-gnueabi- ARCH=arm KLIB_BUILD=/home/xxx/Downloads/linux-3.10/ KLIB=/home/xxx/Downloads/rootfs/
make CROSS_COMPILE=/home/xxx/Downloads/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/arm-linux-gnueabi- ARCH=arm KLIB_BUILD=/home/xxx/Downloads/linux-3.10/ KLIB=/home/xxx/Downloads/rootfs/https://stackoverflow.com/questions/18855554
复制相似问题