SUSE Linux Enterprise Server (SLES) 8.0 インストーラには、インストール先のシステムのキーボードの有無をチェックするコードが含まれています。このコードがあると、OS プロビジョニングプラグイン で SLES 8.0 OS のインストールを自動化することができません。SLES 8.0 OS のプロビジョニングを完全に自動化するには、インストーラを編集してこのコードを削除します。次の手順に従ってください。
SLES 8.0 イメージの root ファイルを含む boot ディレクトリに移動します。
boot ディレクトリは、SLES8.0 CD の 1 枚目のコピーにあります。
root ファイルのバックアップコピーを作成します。
# cp root root.orig |
一時ディレクトリに、ループバックモードでファイルのコピーをマウントします。
# mkdir /tmp/loop # mount -o loop root.orig /tmp/loop |
作業用の一時ディレクトリを作成します。
# mkdir /tmp/work |
root を作業用の一時ディレクトリにコピーします。
# cd /tmp/work # rsync -avz /tmp/loop/* . |
テキストエディタで、作業用の一時ディレクトリにある YaST2 インストーラスクリプトを開きます。
前の手順で指定したディレクトリ名を使用する場合は、 YaST2 インストーラスクリプトは /tmp/work/usr/lib/YaST2/bin/ ディレクトリにあります。
YaST2 インストーラスクリプトから次の部分のコードを削除します。
# iSeries and p690 dont have a keyboard but a special console, no need to
# run via serial console.
if [ ! "$update" -a "$Keyboard" = "0" -a ! "$Braille" -a "$NOTISERIES"
!= 0 -a "$NOTHVCCONSOLE" != 0 -a "$HOSTTYPE" != "s390" -a "$HOSTTYPE" !=
"s390x" ] ; then
log "no keyboard?"
echo "No keyboard detected. Trying to connect via serial interface
/dev/ttyS0."
echo "On your terminal computer start the user interface with"
echo "y2base \"serial(115200):/dev/ttyS0\" qt -geometry 800x600
-style=platinum"
echo "or"
echo "y2base \"serial(115200):/dev/ttyS1\" qt -geometry 800x600
-style=platinum"
echo "or start the YaST2 menu by typing \"yast2\" and select
YaST2/Remote Install"
y2base "$modulename" $moduleargs "serial(115200):/dev/ttyS0"
--timeout 15
y2exitcode=$?
[ $y2exitcode -eq 0 ] && y2cc_ncurses
if [ "$y2exitcode" = 13 ] ; then
echo "Connection timeout. Continuing with normal setup."
else
exit $y2exitcode
fi
fi
変更した YaST2 インストーラスクリプトを含めて root ファイルを再作成します。
# cd /tmp # mkfs.cramfs work root |
新しい root ファイルを SLES 8.0 CD の 1 枚目にコピーします。
# cp /tmp/root suse-copy-path/boot/root |
suse-copy-path は、SLES 8.0 CD の 1 枚目のコピーへのパスです。
作業用の一時ディレクトリを削除し、一時ディレクトリへのループバックを削除します。
# rm -rf work # umount /tmp/loop |
SLES 8.0 インストーラを編集したあとに、インストールが対話モードに変わり、ライセンス契約同意書への確認を求められる場合は、SLES 8.0 CD の 1 枚目のコピーにある info.txt ファイルの名前を変更します。次に例を示します。
# mv suse-copy-path /media.1/info.txt suse-copy-path media.1/info.txt.bak
ファイル名を変更したら、SLES 8.0 OS のプロビジョニングを再度実行してください。