CoreOS在启动过程中,先加载内核,内核再加一个参数,来判断是不是第一次启动。
如果第一次启动,就执行ignitoin配置。
通过研究,在/boot/coreos下touch一个名称为first_boot的空文档 ,内核就认为是第一次启动了
注: 查看/boot/coreos/grub/grub.cfg.tar 的解压后文档,可以知道整个启动流程。
在 /usr/share/oem/config.ign 这个文档中,保存的就是我们首次安装CoreOS时,配置文档 ignition.json 的内容
要重新配置,则:
1. 编写新的config.yaml配置文档再使用ct 工具,转换为 .json格式的文档;
2. 用将新的配置文档内容替换掉 /usr/share/oem/config.ign 的内容;
3. 在/boot/coreos/ 目录下, touch 一个 名为first_boot 的空文档;
4. reboot;
关于ct工具的使用,可以看我的另一篇博客:
CoreOS Linux 最新2023.5.0版的安装过程-2019-03-28
CoreOS Linux 最新2023.5.0版的安装过程-2019-03-28_coreos加载最新版本_lggirls的博客-优快云博客
Ignition是coreos开发的一种新型的系统初始化配置方式,有以下特点:
1.只运行一次。在系统安装完成后,第一次开机启动时运行。
2.执行时间非常早,在内核加载后,initramfs阶段执行。
3.所以可以进行很多在系统阶段无法操作的工作。如格式化磁盘,调整网络配置,对只读文件系统进行写操作等。