【记录】如何将驱动源码程序打包成rpm包

第一步:准备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
微信打赏微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2022/11/19作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???