修改重新封装 Linux ISO

请注意:本文档旨在帮助您根据现有的 ISO 来创建一个 自定义的ISO文件。如果您希望从零开始,可以参考OpenCloudOS ISO镜像构建项目,
以 Rocky-9.4-x86_64-dvd.iso 为例,
挂载 ISO
挂载 ISO 到 /mnt 目录, 因为 ISO 镜像挂载后是只读的,因为我们需要先将 ISO 里的文件复制到新的目录,后续对 ISO 的修改在这个新的目录中进行。
# 挂载 iso |
新增/删除 RPM 包
大多是时候,修改 ISO 是新增/删除 RPM 包,比如更换内核包,添加自定义包等等。
Rocky 9.4 ISO RPM 存放目录在 AppStream 和 BaseOS 两个目录下, 与其 yum 源的目录结构相同。
RPM 以及 repodata, 目录结构如下:
tree -d 1 AppStream/ |
子目录 Packages 存放 RPM 包文件,repodata 存放 RPM 包的元数据。在 Packages 目录下放入新的包或者删除不需要的包后,需要重新生成 repodata。
createrepo --update AppStream/ |
ISO 换标
修改 Rocky 为 CustomizedRocky,
sed -i 's/Rocky/CustomizedRocky/g' EFI/BOOT/grub.cfg |
封装 ISO
完成修改后,重新封装 ISO, 命令如下,
genisoimage -U -r -v -J -joliet-long -V "CustomizedRocky-9-4-x86_64-dvd" -volset "CustomizedRocky-9-4-x86_64-dvd" \ |
需要注意的是,确保命令中 -V, -volset 和 -A 选项的值与 ISO 里的引导加载程序配置匹配。
参考链接
2、使用 overlay2 或 bind 重新构建 ISO 镜像 适用于 ISO CICD 方案的一种加速方案