hostapd移植(2.7版本)
1. Openssl交叉编译:(选择的版本是openssl-1.1.1.tar.gz)
参考我的上一篇:https://www.cnblogs.com/TiddlerYu/p/12643041.html
编译出 openssl
2. Libnl: 交叉编译 (选择的版本是libnl-3.2.25.tar.gz)
hostapd2.7的区别在于,libnl需要3.0以上版本的支持。
具体选择哪个版本的libnl可以配置hostapd/.config
# Use libnl v2.0 (or 3.0) libraries.
CONFIG_LIBNL20=y
# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
#CONFIG_LIBNL32=y
libnl下载:
http://www.infradead.org/~tgr/libnl/files/
解压安装包,建一个__install文件夹用来保存安装的库文件
# mkdir __install
#./configure --host=arm CC=arm-himix100-linux-gcc --prefix=$(pwd)/__install --enable-static
#make & make install
就可以看到__install/lib/ 下面有生成的libnl静态库:
3. hostapd2.7版本的编译参考:
https://www.cnblogs.com/TiddlerYu/p/12643041.html
注意:
如果出现如下错误提示:
Package libnl-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-3.0' found
则需要将libnl-3.0.pc所在目录添加到PKG_CONFIG_PATH变量中,先用如下命令查看所在目录:
如我目前的路径是:/source/libnl-3.2.25/__install/lib/pkgconfig
然后添加到PKG_CONFIG_PATH变量,命令如下:
export PKG_CONFIG_PATH=/source/libnl-3.2.25/__install/lib/pkgconfig/:$PKG_CONFIG_PATH
4. 关于裁剪:
hostapd的裁剪,可以配置/hostapd2.7/hostapd/.config 文件,增减相关的功能。
我的配置:
该配置可以直接不用链接openssl库,只需要链接libnl就可以编译成功。
1 CONFIG_DRIVER_NL80211=y 2 CONFIG_LIBNL20=y 3 CONFIG_IEEE80211N=y 4 CONFIG_WPS=y 5 CONFIG_PKCS12=y 6 CONFIG_TLS=internal 7 CONFIG_INTERNAL_LIBTOMMATH=y