arm交叉编译安装wpa_supplicant

1、编译安装openssl

下载(我的版本是 openssl-1.1.1d )
https://www.openssl.org/
解压

root@znh-ubuntu:/disk/nettools# tar -zxf openssl-1.1.1d.tar.gz
root@znh-ubuntu:/disk/nettools# cd openssl-1.1.1d

配置(自行修改交叉编译器,其中 linux-armv4 为32位,64位使用 linux-aarch64):

./Configure linux-armv4 shared no-asm --prefix=$(pwd)/out CROSS_COMPILE=arm-linux-gnueabi-

实例:

root@znh-ubuntu:/disk/nettools/openssl-1.1.1d# ./Configure linux-armv4 shared no-asm --prefix=$(pwd)/out CROSS_COMPILE=arm-linux-gnueabi-
Configuring OpenSSL version 1.1.1d (0x1010104fL) for linux-armv4
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
root@znh-ubuntu:/disk/nettools/openssl-1.1.1d#

编译、安装

root@znh-ubuntu:/disk/nettools/openssl-1.1.1d# make -j4
......
root@znh-ubuntu:/disk/nettools/openssl-1.1.1d# make install

记住当前 out 输出路径,待会需要用

root@znh-ubuntu:/disk/nettools/openssl-1.1.1d/out# ls
bin  include  lib  share  ssl

root@znh-ubuntu:/disk/nettools/openssl-1.1.1d/out# pwd
/disk/nettools/openssl-1.1.1d/out

#将lib目录下的libcrypto和libssl库拷贝到开发板根文件系统中的/usr/lib目录下

2、编译安装libnl

安装环境
sudo apt-get -y install flex
sudo apt-get -y install bison
下载(我的版本是 libnl-3.2.23 )
https://www.linuxfromscratch.org/blfs/view/svn/basicnet/libnl.html
解压

root@znh-ubuntu:/disk/nettools# tar -zxf libnl-3.2.23.tar.gz
root@znh-ubuntu:/disk/nettools# cd libnl-3.2.23

配置(自行修改交叉编译器):

./configure --host=arm-linux-gnueabi --prefix=$(pwd)/out

实例:

root@znh-ubuntu:/disk/nettools/libnl-3.2.23# ./configure --host=arm-linux-gnueabi --prefix=$(pwd)/out
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
.......

编译、安装

root@znh-ubuntu:/disk/nettools/libnl-3.2.23# make -j4
......
root@znh-ubuntu:/disk/nettools/libnl-3.2.23# make install

记住当前 out 输出路径,待会也要用

root@znh-ubuntu:/disk/nettools/libnl-3.2.23/out# ls
etc  include  lib  sbin  share

root@znh-ubuntu:/disk/nettools/libnl-3.2.23/out# pwd
/disk/nettools/libnl-3.2.23/out

#正点原子:将lib目录下的所有文件拷贝到开发板根文件系统的/usr/lib目录下

3、编译安装wpa_supplicant

下载 (我的版本是 wpa_supplicant-2.7)
http://w1.fi/wpa_supplicant/

解压

root@znh-ubuntu:/disk/nettools# tar -zxf wpa_supplicant-2.7.tar.gz
root@znh-ubuntu:/disk/nettools# cd wpa_supplicant-2.7

将wpa_supplicant下的defconfig文件拷贝一份并重命名为.config,命令如下:

root@znh-ubuntu:/disk/nettools/wpa_supplicant-2.7# cd wpa_supplicant/
root@znh-ubuntu:/disk/nettools/wpa_supplicant-2.7# cp defconfig .config

编译 .config

root@znh-ubuntu:/disk/nettools/wpa_supplicant-2.7# vim .config

指定交叉编译器、openssl、libnl库和头文件路径,添加:

CC =  arm-linux-gnueabi-gcc

#openssl库和头文件路径
CFLAGS += -I/disk/nettools/openssl-1.1.1d/out/include
LIBS += -L/disk/nettools/openssl-1.1.1d/out/lib  -lssl -lcrypto

#libnl库和头文件路径
CFLAGS += -I/disk/nettools/libnl-3.2.23/out/include/libnl3
LIBS += -L/disk/nettools/libnl-3.2.23/out/lib

如图:

在这里插入图片描述
编译、安装前先执行export 指定pkgconfig的位置
export PKG_CONFIG_PATH=/disk/nettools/libnl-3.2.23/out/lib/pkgconfig
然后

root@znh-ubuntu:/disk/nettools/wpa_supplicant-2.7/wpa_supplicant# make -j4

编译完成后,我们需要的东西已经都有了
在这里插入图片描述
将其拷贝至开发板

将图中wpa_cli和wpa_supplicant这两个文件拷贝到开发板根文件系统的/usr/bin目录中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

第四维度4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值