シリアルコンソール接続について。
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