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