我希望ks.cfg
DVD 本身能将所有内容保存在同一个位置。
内容isolinux/isolinux.cfg
label ks
menu label ^Kickstart
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ks.cfg
并且ks.cfg
位于/
cdrom 的顶部。但实际安装开始时,它说在任何 cdrom 中都找不到磁盘。我正在使用以下命令创建 iso,
mkisofs -o $ISO_NAME -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -l -r -T -v .
我尝试创建新目录/ks/ks.cfg
,但它也不起作用
答案1
确保已将隐藏文件从原始 ISO 的根目录复制到新 ISO 构建路径的根目录中。这可能需要手动完成。
这些文件是:
.discinfo
.treeinfo
答案2
为了节省将来可能遇到类似问题的人的时间(相信我,我已经浪费了 2-3 天的时间),当您在虚拟环境(例如 VirtualBox)中测试自定义 iso 时,它会模拟 ISO 并将其作为 CDROM 设备呈现给虚拟机。而当您在裸机/物理服务器上测试时,它将呈现为设备/dev/sdX
(其中 X 可能是 a、b、b1、c2 等,具体取决于连接到机器的外部设备或 USB 的数量,例如:/dev/sdb1)。因此,在cdrom:/ks/ks.cfg
裸机/机器上提供 ks 文件的路径将不起作用,因此最好的选择是使用“LABEL”来识别媒体。但为此,您必须构建 ISO 并使用相同的自定义 LABEL 使其可启动。您还必须在文件中指定 LABEL 识别方法isolinux.cfg
。
例如:
您的 isolinux.cfg 的菜单项应如下所示:
label check
menu label Install CentOS with MY Customizations
menu default
kernel vmlinuz biosdevname=0
append initrd=initrd.img inst.stage2=hd:LABEL=MYCUSTOMISO ks=hd:LABEL=MYCUSTOMISO:/ks/ks.cfg
在上面的例子中,kickstart 文件位于安装介质根目录的 ks 文件夹中。您应该使用“ -V
”开关构建 ISO,并指定 ISO 的标签。(不用担心,可启动磁盘创建工具通常会将您的 USB 标签更改为此开关中传递的值-V
(如果没有,请手动为磁盘指定此特定标签)
mkisofs -o /home/mycustom.iso -V 'MYCUSTOMISO' -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /home/cent/CustomISO/kickstart_build/isolinux/
有关如何在安装时使用 Kickstart 的更多详细信息,请参阅 RedHat 官方文档:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s1-kickstart2-startinginstall
此外,pykickstart 文档是满足您的 kickstart 需求的一站式参考:https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html