LoginSignup
3
3

More than 5 years have passed since last update.

VMWare Fusion6で,シリアルコンソールを使えるようにする

Posted at

ゲストOSの起動メッセージをホストOS(Mac)のターミナルに出力させたかった.

VMware Fusion6の設定

.vmxファイルをエディタで開き,下記を部分を書き換える.
.vmxファイルはいわゆる仮想マシンファイル(実体はディレクトリ)の中にあるので,
Finderから"右クリックで内容を開く"とか,ターミナルで開くなどする必要がある.

serial0.fileType = "pipe"
serial0.fileName = "/tmp/serial0"
serial0.present = "TRUE"

この後にVMwareのGUIからシリアル接続設定を保存したりすると,変な風に書き換えられてしまうので注意.

これでゲストOSに見えるttyS0と,ホストOSのunix domain socketが通信できるようになる.

Mac側の設定

unix domain socketの読み書きにはsocatを使う.OS X 10.9 Mavericksだとデフォルトで1.7.2.2が入ってるので,それを使えばよし.
shell-session
socat -d -d unix-connect:/tmp/serial0 stdio

これでOK.

ゲストOSの設定

とりあえず,ゲストカーネルが起動したらもう準備OK
shell-session
\#echo "nekonekonya-" >/dev/ttyS0

的な感じでsocatで開いているsocketに書き込める.

ブート時のコンソールとして利用したかったので,ブートオプションを変更.
grub2の場合は/etc/grub2/defaultを変更する.grub2の起動時にオプションとして直接打ち込んでもOK.

GRUB_CMDLINE_LINUX='(省略) console=ttyS0,9600n8'

参考リンク

https://gist.github.com/kuenishi/3825178
http://www.cyberciti.biz/faq/howto-setup-serial-console-on-debian-linux/

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3