WIFI驱动移植实验: libnl 库的移植(wpa_supplicant 依赖库)

一. 简介

前面实现了WIFI驱动的移植,而连接某个WIFI热点上就需要用到 wpa_supplicant 工具,所以,本文开始为 移植 wpa_supplicant 工具做准备。

wpa_supplicant 依赖于 openssl库 与 libnl库,前面一篇文章已经完成了 openssl库的移植。文章如下:

WIFI驱动移植实验: openssl 移植-CSDN博客

本文实现wpa_supplicant 工具所依赖的另一个库: libnl库的交叉编译及移植。

二. WIFI驱动移植实验: libnl 库的移植(wpa_supplicant 依赖库)

wpa_supplicant 也依赖于 libnl ,因此还需要移植一下 libnl 库, libnl 源码已经放到了开发板光盘中,路径为: 1 、例程源码 - 》 7 、第三方库源码 - 》 libnl-3.2.23.tar.gz 。

将 libnl 源码压缩包拷贝到 Ubuntu 系统的某个 目录下:

复制代码
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools$ cp /mnt/hgfs/Ubuntu_Shares/libnl-3.2.23.tar.gz ./

解压 libnl 源码压缩,使用如下命令进行解压:

复制代码
 tar -xvf libnl-3.2.23.tar.gz 

得到解压完成以后会得到 libnl-3.2.23 文件夹,然后,在新建一个名为" libnl "的文件夹,用 于存放 libnl 的编译结果:

复制代码
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools$ mkdir libnl_tools

配置 libnl源码

进入到 libnl-3.2.23 文件夹中,然后执行如下命令进行配置:

复制代码
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools/libnl-3.2.23$ ./configure --host=arm-linux-gnueabihf --prefix=/home/wangtian/zhengdian_Linux/tools/libnl_tools

--host 用于指定交叉编译器的前缀,这里设置为" arm-linux-gnueabihf ", --prefix 用于指定编 译结果存放目录,这里肯定要设置为我们刚刚创建的 libnl 文件夹。

编译,安装

配置完成以后就可以执行如 下命令对 libnl 库进行编译、安装:

复制代码
make  //编译
make install //安装

三. 拷贝libnl库到开发板的文件系统下

编译安装完成以后,在 创建的 libnl_tools 目录会生成如下内容 :

我们需要 libnl_tools 目录中 lib 目录下的 libnl 库文件,将 lib 目录下的所有文件拷贝到开发板根 文件系统的 /usr/lib 目录下,命令如下所示:

复制代码
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools/libnl_tools$ sudo cp ./lib/* /home/wangtian/linux/nfs_File/rootfs/usr/lib/ -rf

至此, wpa_supplicant 工具所依赖的另一个库: libnl库的移植已经完成。

相关推荐
Coder个人博客21 分钟前
Linux6.19-ARM64 mm init子模块深入分析
linux·安全·车载系统·系统架构·系统安全·鸿蒙系统·安全架构
济61725 分钟前
ARM Linux 驱动开发篇----Linux驱动开发与裸机开发的区别---- Ubuntu20.04
linux·arm开发·驱动开发
慎思知行28 分钟前
Discord中创建机器人的流程
linux·服务器·机器人
enbug32 分钟前
编译安卓内核:以坚果R1、魔趣MK100(Android 10)系统为例
android·linux
玉梅小洋33 分钟前
Linux命令详解 —— IP 命令及永久配置
linux·运维·tcp/ip
江畔何人初38 分钟前
k8s中Role与networkpolicy区别
linux·运维·云原生
huohaiyu1 小时前
IP协议详解
服务器·网络·tcp/ip
lfPCB1 小时前
高多层HDI板,撑起5G基站高频PCB核心
网络·5g
Madison-No71 小时前
【Linux】一切皆文件的理解 && 缓冲区 && 简易设计libc库
linux·运维·服务器
快来吃饭�1 小时前
Ubuntu-20.04 gem5 构建并实现一个简单的配置脚本
linux·ubuntu·系统架构