virtualboxのKickstartファイルを起動できません

virtualboxのKickstartファイルを起動できません

カスタムkickstartファイルを使用してScientific Linux 7.2 isoを作成し、新しいVirtualBox VMを作成し、isoをVMにインストールするbashスクリプトを作成したいと思います。

2つのスクリプトがあり、installBaseOS.shここcreateKSISO.shに両方あります。

installBaseOS.sh:

#!/bin/sh
set -e

../src/sh/createKSISO.sh
VM='testVM'
ISO=test/boot.iso

VBoxManage createhd --filename=test/$VM.vdi --size=16000 >> test/install.log 2>&1
VBoxManage createvm --name=$VM --ostype="Linux_64" --register >> test/install.log 2>&1

VBoxManage storagectl $VM --name "SATA Controller" --add sata --controller IntelAHCI
VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium test/$VM.vdi

VBoxManage storagectl $VM --name "IDE Controller" --add ide
VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium $ISO

VBoxManage modifyvm $VM --ioapic on
VBoxManage modifyvm $VM --boot1 dvd --boot2 disk --boot3 none --boot4 none
VBoxManage modifyvm $VM --memory 1024 --vram 128
VBoxManage modifyvm $VM --nic1 bridged --bridgeadapter1 wlo1

VBoxHeadless -s $VM >> test/install.log 2>&1 

そしてcreateKSISO.sh

#!/bin/sh
mkdir test/bootiso
sudo mount -o loop ../bin/SL-72.iso test/bootiso

mkdir test/bootisoks
cp -r test/bootiso/* test/bootisoks/

sudo umount test/bootiso && rmdir test/bootiso

chmod -R u+w test/bootisoks
cp ../src/cfg/ks.cfg test/bootisoks/isolinux

sed -i 's/append\ initrd\=initrd0.img/append initrd=initrd0.img\ ks\=cdrom:\/ks.cfg/' test/bootisoks/isolinux/isolinux.cfg

cd test/bootisoks && mkisofs -o ../boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -J -v -T isolinux/. .
cd ../..
rm -r test/bootisoks

最後に、私の起動ファイルは次のようになりますks.cfg

auth --enableshadow --enablemd5
install
reboot --eject
eula --agreed
cmdline
ignoredisk --only-use=sda
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8

logging --level=debug
rootpw testpass
timezone US/New_York
bootloader --location=mbr --boot-drive=sda
clearpart --all --initlabel
part pv.0 --size=1 --grow
volgroup rootvg01 pv.0
logvol / --fstype=ext4 --name=lv01 --vgname=rootvg01 --size=1 --grow

services --enable=NetworkManager,sshd

%packages
@base
@core
%end

起動プロセスでキックスタートファイルが見つからないように、そこにあるコマンドをsedコメントアウトすると、VMは問題なくLive CDから起動するため、ISOを正しく作成していると確信しています(ほとんどの場合)。createKSISO.cfg部分)。

ks=/ks.cfg を開始に追加するとどうなりますか?起動ログには次の3行があります。

[ OK ] Started Show Plymouth Boot Screen.
[ OK ] Reached target Paths.
[ OK ] Reached target Basic System.

その後、数分間停止し、タイムアウトdracut-initqueue警告が表示され始めます。その後、dracutコンソールに行くと/run/initramfs/rdsosreport.txt。表示されますdracut-initqueue

localhost kernel: sda: unknown partition table
localhost kernel: sd 0:0:0:0: [sda] Attached SCSI disk
localhost systemd[1]: Received SIGRTMIN+20 from PID 357 (plymouthd)

最後のSIGRTMINは約3秒間4回表示され、約1.5分後にタイムアウト警告が表示されます。

私の問題は、間違った起動ファイルまたはファイルが正しく見つからないために発生したと思います。これが最初の問題であることを確認するために、Web上でいくつかのRHEL 7キックスタートサンプルファイルを試しましたが、運がありませんでした。私が知りたいのは、仮想マシンのデバッグの次のステップが開始されなかった理由、または私の問題が何であるかです。いったん機能するものがあれば、キックスタートファイルを編集して実際に希望のシステムを取得する予定ですが、まず何か動作するようにする必要があります。

ベストアンサー1

これは非常に単純で愚かな間違いでした。ファイル内のコマンドisolinux.cfgで変更された同じ行にキーと値のペアがあります。ブータブルISOの生成についてオンラインで見つけたチュートリアルでは、コマンドの約半分にオプションまたは同様のものが含まれていましたが、このオプションの重要性は説明されていません。私のCDが一時的なので、名前が何であるか気にしないので無視します。sedcreateKSISO.shroot=live:CDLABEL=SL-72-x86_64-LiveCDmkisofs-V "Your CD Name Here"

ただし、起動可能に作成されたISOの場合は、rootラベルとCD名が一致する必要があります。そうしないと、isolinux bootはLive CDから起動するオペレーティングシステムを見つけることができません。これをすばやく修正する方法は、スクリプトにすでに存在するオプションisolinux.cfgの名前を指定することです。より適切な答えは、カスタム名を作成し、 。-VcreateKSISOsedisolinux.cfg

この設定を変更すると、新しく作成されたISOブートがファイルシステムに表示されるだけでなく、スクリプトの他の場所で行われた変更も表示されます。

おすすめ記事