文章目录
第一步:准备gcc 和 rpm-build工具
安装rpm-build工具
#注意,最好用原生环境进行编译,这样的适用性更好
yum -y install rpm-build gcc
rpmbuild 用法示例
-ba 既生成src.rpm又生成二进制rpm
-bs 只生成src的rpm
-bb 只生二进制的rpm
-bp 执行到pre
-bc 执行到 build段
-bi 执行install段
-bl 检测有文件没包含
#如果出错了可以通过 不同的命令来看是在打包的那一步出了问题。可以先rpmbuild -bp ,再-bc 再-bi 如果没问题,rpmbuild -ba 生成src包与二进制包。
第二步:下载驱动源码,并转换成rpm
准备编译软件的环境(就是创建几个特定目录)
#igb.spec这个文件根本就不存在,随便写的,执行后会报错,但是会把rpmbuild环境创建好(环境地址是/root/rpmbuild)
rpmbuild -ba igb.spec #名字可以随便,必须以.spec结尾
#扩展知识:spec如何编写,可以去了解下
下载源码压缩包
wget https://downloadmirror.intel.com/29414/eng/igb-5.3.5.39.tar.gz
解压源码压缩包
tar xf igb-5.3.5.39.tar.gz -C /root/
将源码压缩包和源码压缩包解压得到的spec文件放到指定目录
#将源码包放到/root/rpmbuild/SOURCES/目录中
cp -a /root/igb-5.3.5.39.tar.gz /root/rpmbuild/SOURCES/
#将解压得到的spec文件复制到/root/rpmbuild/SPECS/目录中
#要是进入目录后,第一眼没看到spec文件,请使用 find ./ -name *.spec
cp -a /root/igb-5.3.5.39/igb.spec /root/rpmbuild/SPECS/
构建rpm包
cd /root/rpmbuild/SPECS/
rpmbuild -ba igb.spec
查看并下载使用生成的rpm包
tree /root/rpmbuild/RPMS
ls -l /root/rpmbuild/RPMS/x86_64/igb-5.3.5.39-1.x86_64.rpm
生产实列
如下是我按照同样方法生成用于升级 centos6 环境下,intel I350 网卡驱动程序的二进制rpm包
wget https://qiniu.wsfnk.com/Centos6-I350-igb-5.3.5.39-1.x86_64.rpm
rpm -ivh Centos6-I350-igb-5.3.5.39-1.x86_64.rpm
rmmod igb && modprobe igb
#reboot
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论