在添加 kickstart 文件(https://serverfault.com/questions/548405/)后设法让 Fedora ISO 成功重建(用于 USB 记忆棒)后,我现在在 USB 媒体上定位 kickstart 文件时遇到问题.
当这是从 CDROM 完成时,您可以通过添加此参数来启动简单的 kickckstart:
linux ks=cdrom
Run Code Online (Sandbox Code Playgroud)
这将kickstart(假设kickstart 文件名为ks.cfg 并且位于磁盘的根目录中)。
现在,显然这对于 USB 驱动器会有所不同,所以根据我的研究,我认为这条线可以完成这项工作:
linux ks=hd:sdb1:/ks.cfg
Run Code Online (Sandbox Code Playgroud)
显然这行不通。我收到一条错误消息,通知我此驱动器已安装且无法重新安装。
编辑:实际错误消息:
mount: /dev/sdb1 is already mounted or /run/install/tmpmnt0 busy
Warning: Can't get kickstart from /dev/sdb1:/ks.cfg
Run Code Online (Sandbox Code Playgroud)
为了测试语法是否正确,我将 kickstart 文件放在另一个 U 盘上并加载了相同的命令以从新位置获取 ks.cfg:
linux ks=hd:sdc1:/ks.cfg
Run Code Online (Sandbox Code Playgroud)
这确实有效(如果 USB 记忆棒按顺序安装,引导 -> sdb1,kickstart -> sdc1)。安装将启动并顺利完成安装。显然必须使用 2 个笔式驱动器有点令人沮丧和不可靠。
有没有解决的办法?
我正在尝试编辑 Fedora 19 DVD ISO 以添加 kickstart 文件。然后我需要将此 ISO 刻录到 USB 记忆棒上以进行灌输。
启动时我得到的错误是
Warning: Could not boot.
Warning: /dev/root does not exist
Run Code Online (Sandbox Code Playgroud)
为了尝试确定流程的哪一部分失败,我将流程分解为不同的阶段。
第1步:
将原始 ISO“Fedora-19-x86_64-DVD.iso”(可用 ->此处)刻录到 U 盘,看看它是否会安装。
dd if=/path/to/iso of=/dev/sdc
Run Code Online (Sandbox Code Playgroud)
刻录此映像成功,并且安装没有问题。
第2步:
解压 ISO,重新打包并将其刻录到 U 盘,看看是否会安装。请注意:为了便于阅读,本节中的最后一条命令已分解为多行,实际上它是作为一行上的单个命令运行的。
mkdir -p /mnt/linux
mount -o loop /tmp/linux-install.iso /mnt/linux
cd /mnt/
tar -cvf - linux | (cd /var/tmp/ && tar -xf - )
cd /var/tmp/linux
xorriso -as mkisofs -R -J -V "NewFedoraImage" -o ouput/file.iso
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 …Run Code Online (Sandbox Code Playgroud)