![基于 rhel 的发行版的完全无媒体 kexec 安装?](https://linux22.com/image/781479/%E5%9F%BA%E4%BA%8E%20rhel%20%E7%9A%84%E5%8F%91%E8%A1%8C%E7%89%88%E7%9A%84%E5%AE%8C%E5%85%A8%E6%97%A0%E5%AA%92%E4%BD%93%20kexec%20%E5%AE%89%E8%A3%85%EF%BC%9F.png)
我希望能够从 kexec 安装一个小型 redhat 服务器,而无需在安装期间系统上存在介质(没有硬盘、可移动介质或网络)。这似乎是可行的,因为我可以毫无困难地生成并启动相关大小的 initramfs,并且 kexec 在加载时将整个 initramfs 加载到内存中,从而允许 initramfs 程序覆盖最初托管 initramfs 的存储。我尝试将软件包和 repodata 目录树添加到 initrd,并尝试使用 inst.repo=file:///myrepo 让 kickstart 识别它们,但经过进一步调查,似乎在从原始 initrd 到 install.img 的根枢转后,repo 应该由一些 python 脚本安装到 /run/install/repo 中。
我正在尝试弄清楚如何将这个 repo 嵌入到 initrd(或其中嵌套的静态文件系统映像)中,以便让它从 kexec 完全安装,而无需任何外部资源(即 hdd 或 cd/可移动媒体,因为安装将覆盖系统中的所有存储)。
我唯一能想到的办法就是将 repo 目录嵌入到 rootfs.img 中,然后让 kickstart 的 %pre 在图像上运行 losetup 并将其回送安装到 /run/install/repo 中。
我不知道以前是否有人这样做过,因为我搜索了好久都没有找到。我也在 anaconda/kickstart 邮件列表中寻求帮助,但也没有找到任何帮助。