Centos

為 CentOS 8 驗證了良好的“mkisofs”?

  • March 24, 2021

我正在執行將 kickstart 添加到 CentOS 8 ISO 的步驟。我查看了 Red Hat 的 RHEL5 到 RHEL8 文件,以及幾個可能已經過時的網頁。

  • 我知道dd刻錄新 ISO 的命令適用於未修改的 ISO。在這種情況下,USB 驅動器是可引導的。
  • 我知道我有一個很好的 kickstart 文件。
  • 我已經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" .

一旦我弄清楚了這部分,我將記錄整個過程。我現在在那裡發現的所有東西都至少有兩年的歷史了。

因此,解決方案基本上是放棄試圖超越文件的想法。**不要編輯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 項目中。

引用自:https://unix.stackexchange.com/questions/640232