我正在执行向 CentOS 8 ISO 添加启动的步骤。我查看了 Red Hat 的 RHEL5 到 RHEL8 文档,以及几个可能过时的网页。
- 我知道
dd
刻录新 ISO 的命令适用于未修改的 ISO。在这种情况下,USB 驱动器是可引导的。 - 我知道我有一个很好的启动文件。
- 我已经进行了修改以
isolinux/isolinux.cfg
添加ks=cdrom:/ks.cfg
. - 我什至找到了有关添加
inst.ks=cdrom:/ks.cfg
到EFI/BOOT/grub.cfg
.
而且在任何情况下,mkisofs
仍然无法制作可启动的 USB 驱动器。 USB 驱动器是可读的,一旦常规操作系统运行,并且如果我dd
将现有的 ISO 放入其中,它就可以启动。我想我已经排除了一切,除了这个命令中缺少的东西。 (-V
卷名称是直接从blkid
下载的基础 ISO 上运行命令获取的。)
mkisofs \
-o ../CentOS-8.3.2011-x86_64-ks.iso \
-b isolinux/isolinux.bin \
-J -R -l -v \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-graft-points \
-V "CentOS-8-3-2011-x86_64-dvd" .
一旦我弄清楚了这一部分,我就会记录整个过程。我现在发现的所有东西都至少有两年了。
答案1
因此,解决方案基本上是停止尝试超越文档。不要编辑mkisofs
命令!按照文档中给出的方式运行它。我所做的唯一修改是添加-v
for verbose 输出。这是页面我结束了工作。
d_build_dir=/tmp/iso
df_dest_iso=/path/to/CentOS-8.3-2011-x86_64-ks.iso
d_usb_device=/dev/sdb
cd ${d_build_dir}
time mkisofs \
-o ${df_dest_iso} \
-b isolinux/isolinux.bin \
-J -R -l -v \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e images/efiboot.img \
-no-emul-boot \
-graft-points \
-V "CentOS-8-3-2011-x86_64-dvd" \
-jcharset utf-8 .
isohybrid --uefi ${df_dest_iso}
implantisomd5 ${df_dest_iso}
umount ${d_usb_device}1
time dd if=${df_dest_iso} of=${d_usb_device} status=progress
该页面出错的一件事是您需要执行以下操作implantisomd5
最后的。否则,该isohybrid
命令将对 ISO 进行更改,从而破坏 md5 验证哈希值。
这些步骤让我在 USB 闪存驱动器上获得可启动 ISO。它还没有给我一个可用的安装程序。我仍在努力获得可用isolinux.cfg
或grub.cfg
修改。我把我的笔记放在我的github项目。