CentOS 8 自定义 ISO - 添加 `ks=cdrom:/ks.cfg` 会挂起安装程序

CentOS 8 自定义 ISO - 添加 `ks=cdrom:/ks.cfg` 会挂起安装程序

在尝试为 CentOS 8 构建自定义启动 ISO 时,我在运行安装程序时遇到了困难。ISO 现在可以启动了,但启动过程挂在我认为安装程序应该启动的地方。

在添加自定义的 kickstart 文件时,我需要编辑两个文件以在启动时引用该 kickstart 文件。

  • 对于 BIOS 安装,这一页告诉我编辑isolinux/isolinux.cfg以添加ks=cdrom:/ks.cfg到以 开头的行的末尾append
  • 对于 UEFI 安装,这一页建议编辑EFI/BOOT/grub.cfg以添加inst.ks=cdrom:/ks.cfg到以 开头的行的末尾linuxefi

这些修改中的一个或两个导致安装程序启动过程挂起。但是,如果我将 a 添加/ks.cfg到 ISO 的根目录并执行mkisofs 没有修改这些文件,我可以获得默认安装程序。所以, 某物添加[inst.]ks=cdrom:/ks.cfg到这两个文件会导致 ISO 安装程序挂起,而 kickstart 文件的简单存在并不是一个因素。

答案1

旧的处理方式在 CentOS 8 中不再适用。从 kickstart 文件查找和执行的选项范围已经扩大。这迫使inst.ks选项比以前更加详细。第一条线索来自Red Hat高级启动选项文档。它说,

如果指定设备而不是路径,安装程序会在您指定的设备上的 /ks.cfg 中查找 Kickstart 文件。

但是,[inst.]ks=cdrom:/ks.cfg实际上并没有指定设备!如果您查看这些appendlinuxefi行,您将看到 stage2 安装程序的条目:

inst.stage2=hd:LABEL=CentOS-8-3-2011-x86_64-dvd

请注意,它指定了设备类型hd。 stage2 安装程序的特定hd设备由 标识LABEL=CentOS-8-3-2011-x86_64-dvd。因此,考虑到上面的 Red Hat 块引用,指定ks.cfgISO 根目录中命名的 kickstart 文件的正确方法是

inst.ks=hd:LABEL=CentOS-8-3-2011-x86_64-dvd

如果您想为 kickstart 文件使用不同的名称,您可以添加

inst.ks=hd:LABEL=CentOS-8-3-2011-x86_64-dvd:/<filename>

使用适合您的用例的任何文件名。有关 ISO 引导选项格式的更多信息,看一下这个

相关内容