アットウィキロゴ

Dom0での作業

必要なもの

全般

  • linux-2.6.16.29-xenのソースフォルダ
$xensrc/linux-2.6.16.29-xen にあるはず
  • blcr-($version).tar.gz

コンパイル

  • gcc
  • g++
  • ntpl

ntplについて

/usr/lib/ntplにあるが,シンボリックリンクlibrt.soが切れていた.
/lib/tlsを指しているが,存在しない.
これを解決するために,glibcを上書きインストールする.
  1. $ wget http://.../glibc-($version).i686.rpm
  2. # rpm -U --oldpackage --force glibc-($version).i686.rpm
これで,/lib/tlsが発生する.最初にない理由は謎
  1. # cd /usr/lib/nptl
  2. # rm librt.so
  3. # ln -s /lib/tls/librt-2.3.4.so librt.so

工程

  1. $ tar zxvf blcr-($version).tar.gz
  2. $ cd blcr-($version)
  3. $ ./configure --with-linux=($xensrc)/linux-2.6.16.29-xen
  4. $ make
  5. # make install
  6. # insmod /usr/local/lib/blcr/2.6.16.29-xen/blcr_imports.ko
  7. # insmod /usr/local/lib/blcr/2.6.16.29-xen/blcr.ko
ここで,insmodが失敗する場合,実行中のカーネルと,ビルドしたソースフォルダの設定が間違っている可能性がある.
  1. # make check
これで,動作テストを行う.

DomUでの作業

必要なもの

全般

  • linux-2.6.16.29-xenのソースフォルダ
Dom0から持ってくる
  • Dom0:/usr/local/lib/blcr/2.6.16.29-xen/*.ko
Dom0から持ってくる
  • blcr-($version).tar.gz

コンパイル

  • gcc
  • g++

工程

  1. $ tar zxvf blcr-($version).tar.gz
  2. $ cd blcr-($version)
  3. $ ./configure --with-linux=/path/to/linux-2.6.16.29-xen
  4. $ make
  5. # make install
  6. /usr/local/lib/blcrを,Dom0から持ってきたものと入れ替える
  7. # insmod /usr/local/lib/blcr/2.6.16.29-xen/blcr_imports.ko
  8. # insmod /usr/local/lib/blcr/2.6.16.29-xen/blcr.ko

動作方法

  • 環境変数 LD_LIBRARY_PATHを設定する
configureのときの--prefixで設定した値.
設定していないときは,'/usr/local/lib'
  • コンパイル
ドキュメント参照
  • 実行
  • cr_checkpoint
チェックポイントをとる.引数に,対象のプロセスIDを入れる
取ったチェックポイントは,context.($pid)というファイルになる.
  • cr_restart
プログラムを再開する.引数は,context.($pid)ファイル.

.

.

.

.

.

.

.

.

.
最終更新:2010年02月02日 10:51