[BitVisor-devel:100] Re: LinuxからBitvisor logの取得するコマンド

k.suzaki k.suzaki @ aist.go.jp
2017年 1月 16日 (月) 16:08:31 JST


イーゲル 榮樂様

須崎です。下記の手順で解決しました。
1. Bitvisorのmake configで CONFIG_LOG_TO_GUESTを有効してbuiid
2. tools/log/logget-linux.cをbuild
3. 新しいBitvisorを起動して、insmod logget-linux.koすることでdmesgにVMM 
付きのBitvisorログが取れました。

ただし、tools/log/logget-linux.cは下記の改変が必要でした。

1. kmallocの暗黙的な宣言エラーの解決
#include <linux/slab.h>  の追加。 
参考記事 http://blogs.yahoo.co.jp/k_okazk/1109226.html

2. init_MUTEX_LOCKEDの暗黙的な宣言エラーの解決
- init_MUTEX_LOCKED (&exit_logget_linux_sem);
+ sema_init (&exit_logget_linux_sem, 0);
参考記事1http://stackoverflow.com/questions/27801529/where-has-init-mutex-gone-in-linux-kernel-version-3-2
参考記事2http://askubuntu.com/questions/103005/how-would-i-go-about-installing-an-avertv-hybrid-volar-hx/108821

2つ目は正しい解決ではないかもしれませんが、とりあえずは動いています。

------
suzaki


On 2017/01/16 13:51, Hideki EIRAKU wrote:
> イーゲル 榮樂です。
>
> From: k.suzaki <k.suzaki @ aist.go.jp>
> Subject: [BitVisor-devel:98] LinuxからBitvisor logの取得するコマンド
> Date: Mon, 16 Jan 2017 12:43:08 +0900
>
>> 須崎です。
>>
>> dbgshのlogコマンドで出力されるログをLinuxのコマンド一つで出力するもの
>> はないのでしょうか。
>> tools/log/logget-linux.c が相当するのかと思いましたが、これはkernel
>> moduleを作るようで使い方がよくわかりませんでした。
> tools/log/logget-linux.c は BitVisor 側を CONFIG_LOG_TO_GUEST=1 でコン
> パイルしておくと利用できます。Linux で本カーネルモジュールをロードする
> と、BitVisor のログが Linux のカーネルログに残る (dmesg コマンドで確認
> できたり、syslogd によってファイルに保存されたりする) ようになります。
> 仕組みは、Linux 側カーネルモジュールで確保したメモリーに BitVisor 側か
> ら直接ログを書き込み、それをカーネルモジュールが定期的にポーリングして
> 改行文字で分割し、行頭に "VMM: " をつけて printk するようになっていま
> す。dbgsh の log コマンドや、dmesg コマンドで確認できる Linux カーネル
> ログは、大量に出ると古いものから失われていきますが、本カーネルモジュー
> ルを使用してカーネルログを syslogd でファイルに保存させていれば、大量
> にログが出る場合でも損失が少なくなります。
>



BitVisor-devel メーリングリストの案内