- 概述
麒麟桌面版ISO安装镜像提供了 .kylin-post-actions
钩子支持在系统安装后执行额外的shell命令。借助此机制我们可以进行一些系统初始化设置、安装软件等操作。定制的步骤为:1、提取ISO文件内容;2、修改 hook 脚本;3、重新封装 ISO。本文使用 Kylin-Desktop-V10-SP1-Release-2107-arm64.iso 进行实验,通过一个简单的示例来介绍具体的操作步骤。
-
准备工作环境:
在一个干净的工作环境中,创建一个用于修改 ISO 镜像的临时目录。
mkdir iso-content
-
挂载 ISO 镜像:
挂载麒麟系统 ISO 镜像,将内容拷贝到 iso-content
目录
sudo mount -o loop Kylin-Desktop-V10-SP1-Release-2107-arm64.iso /mnt
rsync -Pa /mnt/ iso-content
拷贝完后,可以卸载ISO镜像
sudo umount /mnt
-
添加额外的文件:
将您想要添加到 ISO 镜像的文件复制到
isomod
目录中,可以在iso-content
下新建一个custom_data
目录,把额外的文件拷贝到此目录下mkdir iso-content/custom_data cp your-files iso-content/custom_data
-
修改安装脚本:
进入 iso-contents
, ls -a
可以看到有一个隐藏文件 .kylin-post-actions
,可以看到里面有一些系统安装后执行的操作,可以在后面继续追加自定义的 shell 指令.
此脚本执行时,其所在的文件系统是我们系统安装后得到的目标系统,ISO 镜像挂载到 /cdrom 路径下,因此可以添加如下命令把 iso 我们放入的额外文件拷贝到目标系统
# vi .kylin-post-actioins
mkdir -p /root/tools
cp -a /cdrom/custom_data/your-files /root/tools
替换 your-files
和 /root/tools
为您的实际文件和目标路径。
-
生成新的 ISO 镜像:
使用
genisoimage
工具生成新的 ISO 镜像。genisoimage -o Kylin-Desktop-V10SP1-2107-custom.iso -V "Kylin-Desktop-V10SP1-2107-Custom" -R -J iso-content
-
清理工作环境:
完成后,清理工作目录。
rm -r iso-content
-
测试新 ISO 镜像:
使用虚拟机或物理设备测试新的 ISO 镜像,确保您的修改可以成功应用于系统安装过程。