交叉编译ethtool(ubuntu 2018)

参考文章:https://www.cnblogs.com/nazhen/p/16800427.html

https://blog.csdn.net/weixin_43128044/article/details/137953913

1、下载相关安装包

c 复制代码
//ethtool依赖libmul
git clone http://git.netfilter.org/libmnl
//ethtool源码
git clone http://git.kernel.org/pub/scm/network/ethtool/ethtool.git


2、编译libmnl

c 复制代码
//执行脚本生成配置文件
./autogen.sh
//自动配置编译环境,生成makefile等文件
./configure  --host=arm-linux CC=aarch64-linux-gnu-gcc LDFLAGS=-static --prefix=$PWD
//若之前编译过,先清除之前的编译结果
make clean
//编译
make

问题:

解决:

automake工具未安装

c 复制代码
sudo apt-get install automake

生成目标文件:

3、交叉编译ethtool源码

c 复制代码
//创建编译所需配置文件
./autogen.sh
//自动配置编译环境,生成makefile等文件,将$LIBMNL_PWD替换为libmnl项目根目录,如:/opt/libmnl
./configure --prefix=$PWD --host=arm-linux CC=aarch64-linux-gnu-gcc MNL_CFLAGS="-I$LIBMNL_PWD/include" MNL_LIBS="-L$LIBMNL_PWD/lib -lmnl" LDFLAGS=-static
//若之前编译过,先清除之前的编译结果
make clean
//编译目标文件
make CFLAGS="-I/home/johan/opt/ethtool/libmnl/include" LDFLAGS="-L/home/johan/opt/ethtool/libmnl/lib"



相关推荐
apocelipes24 分钟前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
努力学习的小廉1 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗2 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
2301_793102492 小时前
Linux——MySql数据库
linux·数据库
jiunian_cn3 小时前
【Linux】centos软件安装
linux·运维·centos
藥瓿亭3 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
程序员JerrySUN3 小时前
[特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
java·linux·架构
孤寂大仙v3 小时前
【计算机网络】非阻塞IO——select实现多路转接
linux·计算机网络
派阿喵搞电子4 小时前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
Evan_ZGYF丶4 小时前
【PCIe总线】 -- PCI、PCIe相关实现
linux·嵌入式·pcie·pci