参考文章: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"