wpa_supplicant交叉编译

文章目录

  • 源码
  • 编译
    • openssl编译
    • libnl
    • 交叉编译WPA
  • 开发板测试使用

源码

wpa_supplicant官网:http://w1.fi/wpa_supplicant/
GIT源:git://w1.fi/hostap.git
在这里插入图片描述

openssl 源码:
https://www.openssl.org/
libnl 源码:
https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz 或
https://github.com/thom311/libnl/releases/

编译

编译wpa之前需要先编译openssl 以及 libnl

openssl编译

./Configure linux-armv4 shared no-asm --prefix=$(pwd)/install CROSS_COMPILE=arm-linux-gnueabihf-
make -j16
make install

libnl

./configure --host=arm-linux-gnueabihf --prefix=$(pwd)/install
在这里插入图片描述
如果出现以上错误提示,需要对应安装:
apt-get install bison
apt-get install flex

编译:
make -j16
make install

交叉编译WPA

  1. cp defconfig .config
  2. vim .config
  3. 添加如下内容
    CC = arm-linux-gnueabihf-gcc
    #openssl库和头文件路径

CFLAGS += -I/mnt/f/Project/Linux/Study/openssl-3.0.13/install/include
LIBS += -L/mnt/f/Project/Linux/Study/openssl-3.0.13/install/lib -lssl -lcrypto
#libnl库和头文件路径
CFLAGS += -I/mnt/f/Project/Linux/Study/libnl-3.2.25/install/include/libnl3
LIBS += -L/mnt/f/Project/Linux/Study/libnl-3.2.25/install/lib
export PKG_CONFIG_PATH=/mnt/f/Project/Linux/Study/wpa_supplicant-2.10/wpa_supplicant/install【替换成你的路径】
make -j16

如果出现如下dbus.h缺失
在这里插入图片描述
打开.config注释掉两个配置选项
#CONFIG_CTRL_IFACE_DBUS_NEW=y
#CONFIG_CTRL_IFACE_DBUS_INTRO=y

出现linux/if.h:71:2: error: redeclaration of enumerator ‘IFF_UP’
可能是libnl库的版本不对,比如3.2.25 需要用3.5.0

出现没有 if_macsec.h头文件
在.config中加上CFLAGS += -I/mnt/f/Project/Linux/Study/libnl-3.5.0/include/linux-private 该文件存在于libnl中
在这里插入图片描述
将编译出来的wpa_cli 以及 wpa_supplicant
在这里插入图片描述

开发板测试使用

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/503540.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Socket网络编程(四)——点对点传输场景方案

目录 场景如何去获取到TCP的IP和Port?UDP的搜索IP地址、端口号方案UDP搜索取消实现相关的流程:代码实现逻辑服务端实现客户端实现UDP搜索代码执行结果 TCP点对点传输实现代码实现步骤点对点传输测试结果 源码下载 场景 在一个局域网当中,不知…

26、Qt调用.py文件中的函数

一、开发环境 Qt5.12.0 Python3.7.8 64bit 二、使用 新建一个Qt项目,右击项目名称,选择“添加库” 选择“外部库”,点击“下一步” 点击“浏览”,选择Python安装目录下的libs文件夹中的“python37.lib”文件,点击“下…

gpt批量工具,gpt批量生成文章工具

GPT批量工具在今天的数字化时代扮演着越来越重要的角色,它们通过人工智能技术,可以自动批量生成各种类型的文章,为用户提供了便利和效率。本文将介绍5款不同的GPT批量工具,并介绍一款知名的147GPT生成工具,以及另外一款…

TypeScript学习

TypeScript 是一种基于 JavaScript 构建的强类型编程语言。 ts不是js的替代只是为了大型项目更好的扩展,微软编写的一个强类型的脚本。 ts中对参数,变量,返回值 都有限制,不像js那么随意,类的定义也更严格&#xff0…

[unity] c# 扩展知识点其一 【个人复习笔记/有不足之处欢迎斧正/侵删】

.NET 微软的.Net既不是编程语言也不是框架,是类似于互联网时代、次时代、21世纪、信息时代之类的宣传口号,是一整套技术体系的统称,或者说是微软提供的技术平台的代号. 1.跨语言 只要是面向.NET平台的编程语言(C#、VB、 C、 F#等等),用其中一种语言编写…

雅马哈伺服器TS-S系列说明具体详情内容可参看PDF目录内容

雅马哈伺服器TS-S系列说明具体详情内容可参看PDF目录内容

快递平台独立版小程序源码|带cps推广营销流量主+前端

源码介绍: 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序,接入云洋/易达物流接口,支持选择快递公司,三通一达,极兔,德邦等,功能成熟 如何收益: 1.对接第三方平台成本大约4元…

低密度奇偶校验码LDPC(七)——SPA和积译码算法的简化

一、SPA译码算法的实际应用 查找表与拟合 盒加SPA译码器 二、SPA译码算法的简化算法 最小和算法(MSA) 归一化最小和算法(Normalized MSA, NMSA) 偏移最小和算法(Offset MSA, OMSA) 三、NMSA算法的Matlab实现 function [x_hat, iter_this_time] Layered_NMSA_BP_decoder(ll…

【C语言】linux内核xmit_one函数

一、中文注释 static int xmit_one(struct sk_buff *skb, struct net_device *dev,struct netdev_queue *txq, bool more) {unsigned int len;int rc;// 如果全局ptype列表或者设备特定的ptype列表不为空,则执行网络接口层网络层的NIT(Network Tap&…

GenAI助力DevOps,塑造软件工程的未来

自 2022 年以来,GenAI 无疑已成为一种普遍的技术趋势。在本文中,我们将探索 DevOps 中令人兴奋的 GenAI 领域,讨论其潜在优势、局限性、新兴趋势和最佳实践,深入了解 AI 支持的 DevOps 前沿世界,并探索这一强大组合如何…

31-k8s集群svc的代理模式-iptables修改为ipvs

一、概述 学到这里,我们都知道,k8s集群的外部网络分发,借助kube-proxy组件来完成; 问题:我们为什么要将代理模式修改为ipvs而不继续使用iptables呐? 因为: 1,iptables底层使用四表五…

SpringBoot整合Redis及其持久化机制(二)

SpringBoot整合Redis及其持久化机制 1、Redis全局命令1.2、Redis事务 2、Redis持久化2.1、RDB方式2.1.1、客户端触发机制2.1.2、服务端触发机制2.2.3、配置生成快照名称和位置2.2.4、优点2.2.5、缺点 2.2、AOF方式2.2.1、优点2.2.2、缺点 2.3、RDB-AOF混合方式2.4、持久化机制的…