Linux on VMware でシリアルコンソールを使う方法

久しぶりにVMware上のlinuxでシリアルコンソールを使ったので,手順をメモ.
以下,

  • ホスト/ゲスト側が両方とも Linux の場合
  • ホスト側 Windows ゲスト側 Linux の場合

についてそれぞれ書きます.

シリアルコンソールが使えると

等が簡単に行えるようになります.

ホスト/ゲスト側が両方とも Linux の場合

ホスト(Linux) -- socat ←→ 名前付きパイプ ←→ VMware ←→ ゲストOSのシリアルポート

という形で接続します.

ゲスト側Linuxの設定

シリアルコンソールを使うためには,linux カーネルをそれ用にコンパイルしておく必要がある.

具体的には以下の設定が必須

  • CONFIG_SERIAL_8250=y
  • CONFIG_SERIAL_8250_CONSOLE=y

あとは boot ローダで,カーネルの起動オプションを少し変更するだけ.

ブートローダが grub2 の場合は, grub2の設定ファイル /etc/default/grub に

GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=38400"
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,38400"

と書いて, grub.cfg を再生成する.

grub.cfg の再生成方法は,debian 系なら

$ sudo /usr/sbin/update-grub

redhat系なら

$ sudo /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg

設定の確認は,再起動後

$ cat /proc/cmdline 

とする.console=tty0 console=ttyS0,38400 という文字列が含まれていれば成功です.

次に仮想マシンの設定.

仮想マシンの設定画面で

  • シリアルポートを追加
  • 名前付きパイプを選択
  • パイプのファイル名はとりあえず /tmp/vmware-serial-port を設定
  • endPoint はサーバを選択

する.

面倒だったら 設定ファイル *.vmx に以下の4行を追加する.

serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.fileName = "/tmp/vmware-serial-port"
serial0.pipe.endPoint = "server"

以上でゲスト側の設定はおしまい.

ホスト側Linuxの設定

パイプ経由でシリアルコンソールへアクセスするために socat というプログラムをインストールする

debian 系なら

$ sudo apt-get install socat

ですぐインストールできる.

使い方

これだけ. これで console へアクセスでき,カーネルのブートログ(kmsg)等が簡単に収集できます.コンソールからのログインもできます.便利です.

ホスト側 Windows ゲスト側 Linux の場合(めんどくさい方法)

(シリアルポートの出力を眺めるだけなら,もっと簡単な方法があります.詳細は後半を見て下さい)

ざっとネットで調べた限りでは,シリアルポートで入出力をする場合はこの方法が定番のようです.

ホストOS(Windows) -- TeraTerm ←→ Named Pipe TCP Proxy Utility ←→ 名前付きパイプ ←→ VMware ←→ ゲストOS(Linux)のシリアルポート

ゲスト側設定

ゲスト側Linuxの設定は,上記と同じでOK.

仮想マシンの設定は少し注意が必要で

  • [名前つきパイプを使用]
  • パイプ名は "\\.\pipe\vmware-serial-port "
  • [名前付きパイプはサーバー]
  • [接続先はアプリケーション]

を選択すること.

ホスト側設定

ホスト側は Tera Term と Named Pipe TCP Proxy Utility を組み合わせて使います.詳細は…省略!

ホスト側 Windows ゲスト側 Linux の場合(簡易版)

シリアルポートの出力をロギングするだけなら

仮想マシンのシリアルポートの設定画面で,ファイルへ出力を選べばOKです.

あとは, cygwin等が使えるなら

$ tail -f ファイル名

もしくは 同等のログ監視ソフト*1を使うだけ.


VMware徹底入門 第2版
VMware徹底入門 第2版
posted with amazlet at 12.02.14
ヴイエムウェア株式会社
翔泳社
売り上げランキング: 28241

VMwareによる仮想マシンの構築・活用
小島 範幸 北浦 訓行
オーム社
売り上げランキング: 358219