如何创建自动从网络加载 kickstart 的 RHEL/CentOS 启动媒体?

如何创建自动从网络加载 kickstart 的 RHEL/CentOS 启动媒体?

我建立了一个本地网络,使用 DHCP、kickstart 模板和本地镜像,我可以自动安装任何 RedHat 类型的操作系统。它仍然需要我进入机器(如果它是虚拟机,则打开控制台),从启动媒体启动它并输入 kickstart 初始化命令(linux ks=http://server...)。

我希望启动媒体的启动加载程序能够自动添加这些参数,这样我就只需要将启动媒体放入驱动器,打开机器,然后离开那里。

我见过一些关于如何将 ks.cfg 文件添加到 CD 映像以便 Anaconda 自动获取它的讨论,但我不想这样做 - 因为我使用 kickstart 模板服务器并且有时会调整我的 kickstart 文件,并且我不想每次在 kickstart 模板中更改某些内容时都必须重新创建启动媒体。

如何更改 RHEL 启动媒体,使默认启动选项具有不同的启动命令?

答案1

正如 Mircea 提到的,如果有能力的话,建立 PXE 基础设施将是最好的选择。

您提到您正在使用 kickstart 模板系统,如果您使用的是 Cobbler,那么我建议您查看命令“cobbler-boo-iso”,因为您可以构建允许基于网络安装的启动 ISO 映像。这些启动 ISO 映像旨在在非 dhcp 环境中工作。

如果您只想更改 ISO 映像,则需要挂载它并复制全部内容。然后,您将编辑 boot/grub/boot.lst 文件。(我是根据记忆进行的,所以可能有点偏差。)接下来,您需要重建 ISO 磁盘并使其可启动。以下是示例:

$ mkisofs -o ~/rhel-6-disk.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V disks ~/rhel-6-disk

答案2

您可以为此配置一个 PXE 服务器(DHCP、TFTP、pxelinux、iPXE),或者使用现成的 PXE 服务器,例如固定资产投资

相关内容