在CentOS 7.6上编译rpm包的实践
在CentOS 7.6上编译rpm包是一个常见的任务,尤其是对于需要定制化安装或者系统级别的扩展的需求。本文将介绍如何从源码编译成rpm包以及如何将生成的rpm包打包到ISO镜像中。
1. 从源码编译成rpm包
1.1. 普通用户rpmbuild环境配置
首先,假设登录用户名为user,则用户目录为/home/user。在用户目录下创建一个文件夹,以版本号为名称,用来存放源码和后续编译过程中的文件。
mkdir ~/igc-0.1
将源码文件复制到该文件夹中:
cp -a ~/igc/* ~/igc-0.1
对源码进行修改(如果需要),然后将其打包:
tar -jcf igc-0.1.tar.bz2 igc-0.1/
将打包好的源码文件复制到rpmbuild目录下的SOURCES文件夹中:
cp igc-0.1.tar.bz2 ~/rpmbuild/SOURCES
1.2. 配置文件
下载所需的配置文件,包括kmodtool模板和.spec文件。在SPECS目录下修改.spec文件,指定相关参数,如模块名称等。
cd ~/rpmbuild/SPECS/ mv template-kmod.spec igc-kmod.spec vi igc-kmod.spec
在.spec文件中修改以下行:
%define kmod_name igc
1.3. 编译
进入rpmbuild目录并执行编译命令:
cd ~/rpmbuild rpmbuild -bb --target='uname -m' SPECS/igc-kmod.spec
编译成功后,生成的rpm包位于RPMS/x86_64/目录下,例如:igc-kmod-0.1-1.el7.x86_64.rpm。
2. repodata的生成与替换
参考链接:内核替换与ISO制作详细指南
参考链接中提供了生成和替换repodata的具体操作。在ISO解压后,将生成的rpm放入packages目录中,并执行以下步骤:
createrepo -g comp.xml .
3. 打包到ISO里面
3.1. 修改ISO镜像文件
使用UltraISO等工具打开原始ISO镜像文件(比如ori.ISO),并按照以下步骤进行修改:
在packages目录下增加生成的rpm包(igc-kmod-0.1-1.el7.x86_64.rpm)。
替换repodata目录。
在用户的ks.cfg文件中添加插入模块的语句:
@development igc-kmod %end
3.2. 保存并制作新的ISO镜像文件
保存修改后的镜像文件为new.ISO,并使用制作U盘启动盘的工具(如UltraISO)将其制作成启动盘。然后在系统中按照相应的步骤修改BIOS的启动项,使其能够从U盘启动,最后保存设置并安装系统即可。文章来源:https://www.toymoban.com/diary/apps/749.html
通过以上步骤,你可以在CentOS 7.6上成功编译rpm包并将其打包到ISO镜像中,以实现定制化安装和系统扩展的需求。文章来源地址https://www.toymoban.com/diary/apps/749.html
到此这篇关于CentOS 7.6源码编译rpm包及打包到ISO镜像的实践教程的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!