上篇文章连接处:X210移植MTK7601无线网卡驱动(上)
在自己定制的rootfs中移植网卡
1、需要的工具集确认
(1)iwconfig工具集:另外移植的,不是busybox中的
(2)dhcp工具集:是busybox中集成的,确认busybox的menuconfig中配置支持了这个
(3)wpa_supplicant工具集:另外移植的,不是busybox中的
2、交叉编译iwconfig
下载地址http://www.linuxfromscratch.org/blfs/view/svn/basicnet/wireless_tools.html
下载完成后,放在ubuntu中,解压开,修改源码目录下的makefile。
将交叉编译工具链配置成arm的工具链。由于之前我们安装的工具链有到处环境变量,因此可以直接使用arm-linux-...如果没有的话,就必须加入绝对路径。
然后配置PREFIX路径为开发板的nfs文件系统中,(我的系统是在,将来开发板会挂载到/home/aston/rootfs)。
修改完成后,执行make进行源码的编译。
编译完成后,执行make install,就会将我们需要用的工具安装到nfs文件系统中,
之后进行测试,输入iwconfig,就有这个命令集了。
3、移植wpa_supplicant
参考:https://blog.csdn.net/hktkfly6/article/details/48949863
下载地址:http://w1.fi/wpa_supplicant/,进入网页后,找到下载链接,这里网站更新到了2.6版本。下载完后,解压到ubuntu中。
首先进入解压好的wpa_supplicant-2.6/wpa_supplicant路径中。将defconfig变成.config文件。
执行命令:cp defconfig .config
修改makefile文件,增加交叉编译工具链,这里的有将交叉编译工具链的地址导入到环境变量,所以可以直接这样写。
4、编译OpenSSL
修改完成后,运行编译,发现出错,上网查资料,说是由于编译wpa_supplicant需要openssl的库。
在wpa_supplicant-2.6/wpa_supplicant文件夹中的README可以看出,我们这个版本的wpa_supplicant需要1.0.1或者1.0.2版本的openssl来支持
openssl的下载地址:ftp://ftp.openssl.org/source/old/1.0.1/,这里我下载的是openssl-1.0.1.tar.gz下载完成之后,解压到ubuntu中。
修改oenssl源码目录下的makefile,将install文件修改到当前目录中,记得在当前目录下也创建oepnssl_install这个文件夹,然后将交叉编译工具链配置一下,最后删除install中的install_doc,这样将来make install 就不会安装man手册了。
注意的事:
INSTALLTOP=刚才你建立的安装目录,要使用绝对路径,不然在make install的时候会出错
OPENSSLDIR=刚才你建立的安装目录,要使用绝对路径,不然在make install的时候会出错
修改完makefile之后,就可以执行make,编译完成后,执行make install就会将我们需要的东西安装到openssl_install文件夹中,
5、编译wpa_supplicant
在此修改wpa_supplicant源码目录下的makefile(wpa_supplicant-2.6/wpa_supplicant文件夹中)
在wpa_supplicant-2.5/wpa_supplicant目录下执行make后,报错。
上网查询之后,发现要么安装libnl,要么修改.config文件,注释 CONFIG_DRIVER_NL80211=y,在执行make,就好生成wpa_supplicant和wpa_cli。
最后将wpa_supplicant和wpa_cli文件拷贝到nfs文件系统中的/usr/bin目录下。