在 CentOS 上创建自定义 ISO 会导致 dracut-initqueue 超时

在 CentOS 上创建自定义 ISO 会导致 dracut-initqueue 超时

我可以将库存 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

相关内容