web-dev-qa-db-ja.com

シャットダウンメッセージを複数のコンソールに出力します

カーネルパラメータを使用して、起動時にコンソール出力をシリアルおよびvgaに送信するようにシステムを構成しました。シリアルはカーネルパラメータの最後の引数であり、/dev/consoleに使用されるデフォルトになります。また、grubとagettyは、シリアルコンソールを使用するように構成されています。

起動すると、カーネルメッセージが両方のコンソールに表示され、initスクリプトも表示されます。また、initが終了すると、agettyが表示されます。

shutdownを使用してシステムをシャットダウンすると、initstopスクリプトはシリアルコンソールにのみ表示されます。これは、initスクリプトが/dev/consoleにのみ出力されるためだと思います。コマンドが与えられると、vgaディスプレイは画面をクリアし、システムの最後の再起動までカーネルメッセージのみが表示されます。

Xen4CentOSも使用していますが、これを使用した結果はストックカーネルと同じです。

  • 開始スクリプトが表示されているのに、両方のコンソールでinit停止スクリプトが表示されないのはなぜですか?
  • 回避策はありますか?
  • VGAコンソールのクリアスクリーンの問題は何ですか?

私の質問を完了するために私の仕様と設定:

  • ストックカーネルを使用したCentOS6。
  • カーネルオプション:console=tty0 console=ttyS0,9600n8
  • Xen4CentOSを使用する場合、Xenカーネルにオプションが追加されました:com1=9600,8n1 console=com1,vga
  • BOOTUP=serial/etc/sysconfig/initに設定します
  • serial --unit=0 --speed=9600 --Word=8 --parity=no --stop=1/etc/grub.confに追加しました
4
Joffrey

リモートシリアルコンソールHOWTO で説明されているように:

複数のコンソールがリストされている場合、出力はすべてのコンソールに送信され、最後にリストされているコンソールから入力が取得されます。最後のコンソールは、Linuxが/dev/consoleデバイスとして使用するコンソールです。

カーネルからのメッセージはすべてのコンソールに表示されますが、/dev/consoleに書き込まれたメッセージ(たとえば、initまたはsystemd)は最後のコンソールにのみ表示されます。

2
starfry