アットウィキロゴ
シリアルコンソール接続について。

VirtualBox のコンソールではコピペできないので、シリアルポートにターミナルソフトを接続する形を試みる。
VirtualBox のシリアルポートはパイプとして出力する。

ターミナルソフトは使ったことがあるので TeraTerm とする。
ただ、現時点(Ver4.73)ではパイプに直接つなげない。
そこで、パイプを TCP/IP 模擬してくれる Named Pipe TCP Proxy を使う。

  • Named Pipe TCP Proxy の設定
    • Pipe Name は VirtualBox のシリアルポート出力先に指定したパイプ名
    • ポート番号は 10111 (適当)
  • TeraTerm の設定
    • 接続先として、localhost:10111
    • プロトコルは、Telnet:23
  • CentOS の設定
    • /etc/grub.conf を編集
      • splashimage 行をコメントアウト(行頭に # 挿入)
      • hiddenmenu 行の次に serial --unit=0 --speed 115200 の行を追加
      • <追記>terminal --timeout=5 console の行を追加(※)
      • kernel 行の末尾に console=tty0 console=ttyS0,115200 を追加
※ シングルユーザモードに入るために、grub メニューを出す必要があることに気づいたので追加。
  シングルユーザモードは、VirtualBox 側でタイムアウト前に grub メニューを表示し、kernel 行に S を追加してブートする。するとシリアルコンソール側にログインプロンブトが表示され、ログインすると操作できる。
  console の後に serial を追加すると、シリアルコンソール側で grub メニューを表示することができるが、表示・入力とも遅い。また、上の手段でシングルユーザモードにするとかなりの頻度で error: unexpectedly disconnected from boot status daemon とメッセージが表示されるがそのまま操作はできる。

ついでに初期起動されるコンソールと root ログインできる tty を限定する。
  • CentOS の設定
    • /etc/sysconfig/init を編集
      • ACTIVE_CONSOLES の値を $(echo "/dev/tty[12] dev/ttyS0") に変更(初期起動されるコンソール削減)
    • /etc/securetty を編集
      • vc/3-11,tty3-11 の行を削除(root ログイン限定、ttyS0 は追加されていた)

最終更新:2012年03月30日 22:12