STEP0:此教程主要是写给和我一样的新手们看的。 之前有编过狗板的360wifi-v2驱动,不过那次是直接在目标板上编译,如何交叉编译还是一头雾水,这次的目标有两个: 其一,360wifi-v2在PopoCloud上的驱动的交叉编译 其二,PPP内核模块动态编译(就是编成能加载的KO文件) 编译host机为x86的2600K,目标板为PopoCloud 相关知识 #交叉编译过程全部是在host机上进行,本教程未涉及安装验证过程,因此全在host机上完成。 交叉编译的几大要素 1.linux系统及程序 2.源文件,就是驱动,模块之类原始C文件等等 3.linux头文件,包含有目标板的相关信息,通常做法是下载目标板的内核 4.编译工具链(Toolchain) STEP1:准备工作[1][2][3] 1.安装linux系统 a.本人是用VMware安装的32位Ubuntu12.04.3,看大家喜好了 b.程序安装 apt-get update apt-get install libncurses5-dev make build-essential uboot-mkimage git 2.源文件下载 a.360wifi-v2 http://www.mediatek.com/_en/07_downloads/01-1_windowsDetail.php?sn=5042(下方填写Your Name和Your E-mail即可)[注1] b.PPP模块 PPP为内核模块,包含在内核中,下载见3 3.linux头文件 本人用的是AK98的内核文件 mkdir ~/linux cd ~/linux git clone https://github.com/stevezuo/ak98_kernel.git 4.编译工具链: cd ~ git clone https://github.com/cubieplayer/Toolchain.git #加入到PATH export PATH=/cubie/Toolchain/bin:$PATH STEP2:内核模块编译 make -C ~/linux/ak98_kernel ARCH=arm menuconfig 选中System Type,再在ARM system type中选Anyka AK9801,AK9802那个 然后在Device Drivers下Network device support中把PPP开头的全用空格键选成M 由于这个内核错误过多,把其他能不选的全都不要选 make -j2 -C ~/linux/ak98_kernel ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules STEP3:360wifi-v2驱动 include/linux/netdevice.h #define CONFIG_WIRELESS_EXT iw_handler_def wireless_handlers