CentOS6 の KickStart とシリアルコンソールのエコーバック

「CentOS6 + KVM(libvirt)」なゲストの KickStart で、セットアップ中のメッセージをシリアルコンソール(virsh console)に流しつつ、セットアップ後のカーネルパラメータでもシリアルコンソールを有効にするために下記のように指定してみたところ、セットアップ後に virsh console で接続すると入力した文字が何故かエコーバックされるようになりました。

ks.cfg

text
cmdline
autostep
 :
bootloader --location=mbr --driveorder=vda --append="console=ttyS0,115200n8"
 :

virt-install コマンド

virt-install ... --extra-args "ks=http://192.2.0.123/ks.cfg console=ttyS0,115200n8"

ググると同じ症状の記事が見つかりました。

grub.conf のカーネルパラメータで console=ttyS0,... が複数回現れていることが原因のようです。

virt-install のコマンドライン引数(セットアップのカーネルパラメータ)と、kickstart の bootloader の指定が重複しているためかと思い、 下記のように変更して再セットアップしてみたところエコーバックしなくなりました。

ks.cfg

text
cmdline
autostep
 :
bootloader --location=mbr --driveorder=vda
 :

virt-install コマンド

virt-install ~~ --extra-args "ks=http://192.2.0.123/ks.cfg console=ttyS0,115200n8"

色々試してみたところ、セットアップで指定していたカーネルパラメータの console は、セットアップ後の grub.conf に自動的に引き継がれるようです。そのため ks.cfg でも同じ console を指定していると grub.conf で重複してしまいます。

まぁ kickstart のメッセージをシリアルコンソールに流しても余り意味が無いと思うので、virt-install の引数の方で指定しないようにすればいいのだと思いますが・・・