CentOS 6ネットインストールISOを、httpサーバー上のいくつかのキックスタートファイルと共に使用しています。 ISOが起動したら、TABを押して起動オプションを入力しますasknetwork ks=http://<ip-address>/path/to/kickstart.ks
。
私のキックスタートファイルにはnetwork
パラメータがないため、プロンプトが表示されるはずです。 asknetwork
を省略した場合、DHCPを使用しようとします。 asknetwork
を使用すると、IP情報の入力のみを求められます。
残念ながら、アナコンダはホスト名を自動的に検出することに熱心に取り組んでおり、最終的にIPの逆DNSルックアップ、またはlocalhost.localdomain
何も見つからなかった場合。
ホスト名をanacondaプロンプトにする方法、またはカスタムブートオプションを使用してホスト名を事前に入力する方法はありますか?
以前はnetwork --bootproto=query
CentOS 5用ですが、6では機能しません。
ホスト名はキックスタートファイルに直接設定します。
同じテンプレートを再利用しようとしている場合は、クリエイティブになり、PHPを使用して何かをインストーラーに渡すことができます。キックスタートファイルはhttpなので、次のようなことができます。
ks=http://repo.brazzers.com/ks/kickstart.php?hostname=kitty
...ここでkittyは、--hostname=
パラメータを設定するキックスタートファイル内の変数です
または、より良いルートは Cobbler のようなより堅牢なプロビジョニングフレームワークを使用することです。
私はbashを使用したこの方法を好みます:
%include /tmp/network.txt
%pre
#!/bin/sh
exec < /dev/tty3 > /dev/tty3 2>&1
chvt 3
hn=""
while [ "$hn" == "" ]; do
clear
echo " *** Please enter the following details: *** "
echo
read -p "Hostname: " hn
done
clear
chvt 1
echo "network --device eth0 --bootproto static --noipv6 --hostname ${hn}" > /tmp/network.txt
私はvirt-installを使用してこれを行おうとしていて、これに対する優れたソリューションを備えたブログ記事を見つけました。このソリューションは、ブート時にカーネルに渡される/ proc/cmdlinesを使用して、事前キックスタートセクションを使用してホスト名を抽出し、一時ファイルを書き込んでから、メインキックスタートセクションに含めます。
http://monzell.com/post/15547967527/automatically-set-the-hostname-during-kickstart
このブログは、KVMでVMをキックスタートするためのものでした。しかし、カーネルブート引数を簡単に渡すことができる他のキックスタートシナリオでこれが機能しない理由はわかりません。