CentOS 7.6源码编译rpm包及打包到ISO镜像的实践教程

388次阅读
没有评论

共计 1503 个字符,预计需要花费 4 分钟才能阅读完成。

在 CentOS 7.6 上编译 rpm 包的实践

CentOS 源码编译,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 的生成与替换

参考链接中提供了生成和替换 repodata 的具体操作。在 ISO 解压后,将生成的 rpm 放入 packages 目录中,并执行以下步骤:

createrepo -g comp.xml .

3. 打包到 ISO 里面

3.1. 修改 ISO 镜像文件

使用 UltraISO 等工具打开原始 ISO 镜像文件(比如 ori.ISO),并按照以下步骤进行修改:

  1. 在 packages 目录下增加生成的 rpm 包(igc-kmod-0.1-1.el7.x86_64.rpm)。

  2. 替换 repodata 目录。

  3. 在用户的 ks.cfg 文件中添加插入模块的语句:

@development
igc-kmod
%end

3.2. 保存并制作新的 ISO 镜像文件

保存修改后的镜像文件为 new.ISO,并使用制作 U 盘启动盘的工具(如 UltraISO)将其制作成启动盘。然后在系统中按照相应的步骤修改 BIOS 的启动项,使其能够从 U 盘启动,最后保存设置并安装系统即可。

通过以上步骤,你可以在 CentOS 7.6 上成功编译 rpm 包并将其打包到 ISO 镜像中,以实现定制化安装和系统扩展的需求。 文章来源地址 https://www.toymoban.com/diary/apps/749.html

到此这篇关于 CentOS 7.6 源码编译 rpm 包及打包到 ISO 镜像的实践教程的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/apps/749.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计1503字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)