欧拉环境下网讯ngbe网卡驱动编译
编译环境 openEuler(5.10内核)
- 准备源码包ngbe-1.2.5.1.zip;
- 解压unzip ngbe-1.2.5.1.zip,进入解压后的目录ngbe-1.2.5.1/ 修改ngbe.spec文件中以下内容:
%build
make -C src clean
make CHNOS=EULER -C src
%install
make CHNOS=EULER -C src ....
- 修改完成之后保存退出, 返回上级目录执行tar -zcvf ngbe-1.2.5.1.tar.gz ngbe-1.2.5.1/ ;将目录压缩为tar.gz;将ngbe-1.2.5.1.tar.gz复制到/root/rpmbuild/SOURCE/
- 执行rpmbuild -bb ngbe.spec完成打包。txgbe驱动类似,修改spec文件。
补充:编译环境UOS(内核4.19.91)
直接编译报错:找不到<linux/pci-aspm.h>
应该是版本不对导致,在src/kcompat.h直接修改版本:
#ifndef LINUX_VERSION_CODE
#include <linux/version.h>
#else
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif
修改如下:
#define LINUX_VERSION_CODE (((5) << 16) + ((10) << 8) + (135))
#ifndef LINUX_VERSION_CODE
#include <linux/version.h>
#else
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif
重新打tar.gz包,放入source后,执行 rpmbuild -bb ngbe.spec 重新编译。