2.移植wpa_supplicant wifi搜索,连接工具
下载地址 wpa_supplicant 源码包下载地址:
http://w1.fi/wpa_supplicant/
解压到linux查看依赖的openssl版本
#ls wpa_supplicant-2.5/patches
下载依赖的openssl版本库
Openssl 0.9.8 za下载地址:
https://www.openssl.org/source/openssl-0.9.8za.tar.gz
编译Openssl 0.9.8 za库:
打补丁(补丁来自于
wpa_supplicant
源码包中的
patch
目录)
hzy@hzy:~/work/Tools/wifi/openssl-0.9.8za$ cp ../wpa_supplicant-2.5/patches/openssl-0.9.8za-tls-extensions.patch ./
hzy@hzy:~/work/Tools/wifi/openssl-0.9.8za$ patch -p1 < openssl-0.9.8za-tls-extensions.patch
patching file ssl/s3_clnt.c
patching file ssl/s3_srvr.c
patching file ssl/ssl_err.c
patching file ssl/ssl.h
patching file ssl/ssl_sess.c
patching file ssl/t1_lib.c
patching file ssl/tls1.h
patching file util/ssleay.num
hzy@hzy:~/work/Tools/wifi/openssl-0.9.8za$
2.3.配置交叉编译环境
#./config --prefix=/opt/openssl-0.9.8za/ --openssldir=/opt/openssl-0.9.8za/ shared no-zlib no-asm no-threads no-sse2 no-gmp no-rfc3779 no-krb5 no-rc5 no-zlib-dynamic no-hw no-cipher no-md2 no-mdc2 no-rc2 no-idea no-camellia no-ec no-ripemd no-rc4 no-bf no-cast no-perlasm
修改Makefile里gcc 为arm-hisiv300-linux-gcc 删除所有-m64
make
在当前文件下生成 libssl.so
libcrypto.so 两个动态库,将动态库拷贝到板端
编译wpa_supplicant
配置交叉编译环境
# cd /wpa_supplicant-2.5/wpa_supplicant
# cp defconfig .config
# gedit .config 修改.config
17行 添加openssl路径
修改前
#CFLAGS += -I/usr/local/openssl/include
#LIBS += -L/usr/local/openssl/lib
修改后
CC=arm-hisiv300-linux-gcc -L/home/hzy/work/Tools/wifi/openssl-0.9.8za
CFLAGS += -I/home/hzy/work/Tools/wifi/openssl-0.9.8za/include
LIBS += -L/home/hzy/work/Tools/wifi/openssl-0.9.8za
注释
.config 36
行
#CONFIG_DRIVER_NL80211=y
make
编译
wpa_supplicant wpa_supplicant_conf.sh(
配置文件
)
拷贝到板端
arm-hisiv300-linux-strip -s wpa_supplicant
精简下程序