我可以将库存 CentOS 7.7 ISO 很好地旋转到虚拟机(以及 USB 驱动器上),但是当我尝试直接从库存 ISO 制作自定义 ISO 时,我遇到了障碍。
在最初选择 后Install CentOS
,系统挂起于Starting dracut initqueue hook...
,然后重复initqueue[696]: Warning: dracut-initqueue timeout - starting timeout scripts
直到最后显示,Could not boot.
然后/dev/root does not exist
进入 Dracut Emergency Shell。
我正在按照我看到的步骤进行操作:
sudo mkdir -p /media/mydrive
sudo mount -o loop ~user/CentOS-7-x86_64-DVD-1908.iso /media/mydrive
mkdir ~/customiso
sudo rsync -av /media/mydrive ~/customiso
cd ~/customiso
sudo genisoimage -o ../centoscustom.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -v -T -V 'centos custom' .
(还使用 mkisofs 代替 genisoimage,但不满意)
选择安装后,它总是在同一点失败。我什至搞乱了 isolinux.cfg 以使该append
行与文件名匹配,所以
append inird=inird.img inst.stage2=hd:LABEL=centoscustom quiet
我正在尝试将一些启动操作放入 CentOS 7.7 的自定义 ISO 中。我最初以为我是与 USB 制作或 ks.cfg 文件相关的东西,但我已经退回到只是尝试先获取可用的库存 ISO 的直接副本。
答案1
我刚刚想通了。genisoimage
命令和文件中需要相互匹配的两件事isolinux.cfg
如下THISNEEDSTOMATCH
:
genisoimage -o ../centoscustom.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -v -T -V 'THISNEEDSTOMATCH' .
append inird=inird.img inst.stage2=hd:LABEL=THISNEEDSTOMATCH quiet
答案2
我只是在解决这个问题(或者,更确切地说,相同的症状)。结果我实际上忘记了包含整个images/install.img
内容,令人惊讶的是,令人惊讶的是,这意味着安装程序无法找到 stage2。
mkisofs/genisoimage 只是盲目地包含“暂存区域”目录中的所有内容。
简而言之,您需要 isolinux 和 install.img 才能成功。我解决问题的方法是循环安装库存图像并检查它。
作为参考,整个事情是这样的(自己更换合适的镜子。)
mkdir iso
rsync -av rsync://mirrors.dotsrc.org/centos/8.2.2004/BaseOS/x86_64/os/isolinux ./iso/
rsync -av rsync://mirrors.dotsrc.org/centos/8.2.2004/BaseOS/x86_64/os/images/*.img ./iso/images/
cp my_custom_isolinux.cfg iso/isolinux/isolinux.cfg #Optional
cp my_custom_splash.png iso/isolinux/splash.png #Optional
cd iso && mkisofs -o ../qeyeboot8.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "CentOS-8-2-2004-x86_64-dvd" -R -J -v -T .
isohybrid ../qeyeboot8.iso #Optional, allows the image to also be booted from USB