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库的移植已经完成。

相关推荐
0xDevNull2 天前
Linux切换JDK版本详细教程
linux
进击的丸子2 天前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
Johny_Zhao3 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1235 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑5 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件5 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号5 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash6 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI6 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行7 天前
Linux和window共享文件夹
linux