2019独角兽企业重金招聘Python工程师标准>>>
RTL8192CU驱动移植及内核配置:
1.驱动到realtek官网下载
2.下载完解压到内核下的drivers/net/wireless目录,
3.在此目录下的Kconfig文件添加如下
4.source "drivers/net/wireless/rtl8192cu/Kconfig"
5.在此目录下的Makefile文件添加obj-$(CONFIG_RTL8192CU) += rtl8192cu/
6.make menuconfig
7.选中进入Networking support
8.选中进入Wireless
9.选中cfg80211 - wireless configuration API
10.主菜单中进入Device Drivers
11.选中进入Network device support
12.选中进入Wireless LAN
13.选中Realtek 8192C USB WiFi
14.保存配置编译内核
15.make zImage
16.make modules
17.烧写linux启动完成之后,多了一个wlan0设备
Libnl-3.2.25移植:
1.下载最新版libnl-3.2.25
2.执行./configure --prefix=/usr/local/arm/libnl-3.2.25 –host=arm-linux
3.make
4.su以root身份登录,make install,将libnl库安装至/usr/local/arm/libnl-3.2.25路径下
5.将/usr/local/arm/libnl-3.2.25/lib下所有文件拷贝至开发板的/lib目录下,确保hostapd在开发板上运行,能够正确找到libnl库的位置
Openssl-1.0.1j移植:
openssl在arm下的交叉编译静态链接库:
1.下载最新版本openssl-1.0.1j
2../Configure linux-armv4 shared --prefix=/usr/local/openssl-1.0.1j
3.修改Makefile中相关项为arm-linux-系列
4.make
5. su以root身份登录,make install
openssl在arm下的交叉编译动态链接库:
1.下载最新版本openssl-1.0.1j
2../configure linux-armv4 no-asm shared --prefix=/usr/local/openssl-1.0.1j
3.修改Makefile中相关项为arm-linux-系列
4.make
5. su以root身份登录,make install
6.将/usr/local/arm/libnl-1.0.1j/lib下所有文件拷贝至开发板的/lib目录下,确保hostapd在开发板上运行,能够正确找到库的位置
注意:
在项目的Makefile文件里头加入openssl的头文件和库文件的声明,此时需要注意引用库的顺序为:-lssl -lcrypto,如果为 -lcrypto -lssl就会编译错误。
Hostapd-2.3移植:
1. 下载最新版本hostapd-2.3
2. 修改配置文件
cp defconfig .config;
gedit .config;
找到这一行:#CONFIG_DRIVER_NL80211=y,去掉注释,注释掉其他的CONFIG_DRIVER;
CONFIG_LIBNL32=y;
CFLAGS += -I/usr/local/arm/libnl-3.2.5/include/libnl3
LIBS += -L/usr/local/arm/libnl-3.2.5/lib/
CONFIG_TLS=openssl
CONFIG_TLSV12=y
CONFIG_IEEE80211N=y
其余默认
3. 修改Makefile文件如下
修改相关项为arm-linux-系列
4.将hostpad和hostapd_cli拷贝到开发板/sbin下
5.将libnl和openssl的动态库拷贝到开发板/lib下
6.开发板上执行/sbin/hostapd –v,输出版本信息,表示移植成功
Dnsmasq-2.72移植:
1.下载最新版本dnsmasq-2.72
2.修改Makefile CC为arm-linux-gcc
3.make
4.将dnsmasq拷贝到开发板/sbin下