一. 简介
前面实现了WIFI驱动的移植,而连接某个WIFI热点上就需要用到 wpa_supplicant 工具,所以,本文开始为 移植 wpa_supplicant 工具做准备。
wpa_supplicant 依赖于 openssl库 与 libnl库,因此,需要移植一下openssl库与 libnl 库。
二. WIFI驱动移植实验: openssl库的移植(wpa_supplicant 依赖库)
首先,先移植
openssl
,
openssl
源码已经放到了开发板光
盘中,路径为:
1
、例程源码
-
》
7
、第三方库源码
-
》
openssl-1.1.1d.tar.gz。
将
openssl
源码压缩包
拷贝到
Ubuntu 系统相关目录下
:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools$ cp /mnt/hgfs/Ubuntu_Shares/openssl-1.1.1d.tar.gz ./
解压openssl
源码压,使用如下命令:
tar -xvf openssl-1.1.1d.tar.gz
配置openssl源码
解压完成以后就会生成一个名为
openssl-1.1.1d
的目录,然后在新建一个名为 “
openssl_tools
” 的
文件夹,用于存放
openssl
的编译结果:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools$ mkdir openssl_tools
进入到解压出来的
openssl-1.1.1d
目录中,然后执行如
下命令进行配置:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools/openssl-1.1.1d$ ./Configure linux-armv4 shared no-asm --prefix=/home/wangtian/zhengdian_Linux/tools/openssl_tools CROSS_COMPILE=arm-linux-gnueabihf-
上述配置中“
linux-armv4
”表示
32
位
ARM
凭条,并没有 “
linux-armv7
” 这个选项。
CROSS_COMPILE
用于指定交叉编译器。
配置成功以后会生成
Makefile
,输入如下命令进行编
译:
make
make install
编译安装完成以后,就在之前创建的
openssl_tools
目录内容如下
所示:
三. 拷贝openssl_tools开发板的文件系统下
openssl_tools文件夹中
lib
目录是我们需要的,将
lib
目录下的
libcrypto
和
libssl
库拷贝到开发
板根文件系统中的
/usr/lib
目录下,命令如下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools/openssl_tools/lib$ sudo cp libcrypto.so* /home/wangtian/linux/nfs_File/rootfs/usr/lib/ -af
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools/openssl_tools/lib$ sudo cp libssl.so* /home/wangtian/linux/nfs_File/rootfs/usr/lib/ -af
至此,openssl_tools库移植完成。接下来继续移植
libnl库(wpa_supplicant工具
依赖的第二个库)。