已验证 CentOS 8 的“mkisofs”良好吗?

已验证 CentOS 8 的“mkisofs”良好吗?

我正在执行向 CentOS 8 ISO 添加启动的步骤。我查看了 Red Hat 的 RHEL5 到 RHEL8 文档,以及几个可能过时的网页。

  • 我知道dd刻录新 ISO 的命令适用于未修改的 ISO。在这种情况下,USB 驱动器是可引导的。
  • 我知道我有一个很好的启动文件。
  • 我已经进行了修改以isolinux/isolinux.cfg添加ks=cdrom:/ks.cfg.
  • 我什至找到了有关添加inst.ks=cdrom:/ks.cfgEFI/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命令!按照文档中给出的方式运行它。我所做的唯一修改是添加-vfor 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.cfggrub.cfg修改。我把我的笔记放在我的github项目

相关内容