[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:54623] Re: debian(lenny)でsystemtapを使いたい



こんにちは。岩松です。

2010年11月3日22:24 yamada hiroyuki <yamahiroyu_y@xxxxxxxxxxx>:
> 岩松さん、お返事ありがとうございます。
> (返答遅れてすみません。)
>
> ご指摘の通りやってみました。
> ビルド後、/boot以下の各ファイルを自分でビルドしたやつを指すようにしたら、
> systemtapの動作が一歩進みました。
> (これ以外に動作させる方法ってありませんか?これだと、再起動時にdebug情報付きのカーネルで起動してしまうような・・・)
>

これは、debug 情報を持ったカーネルと持ってないカーネルのパッケージが区別できていない
ということでしょうか。

パッケージ作成時に +dbg などの prefix を付けるだけでは、対応できないので、
( boot/vmlinuz-2.6.26-2-amd64 のように同じファイルになってしまう。)
debian パッケージをビルドするのではなく、vanilla + Debian patches の構成にして
make-kpkg でびるどしたほうが簡単になると思います。

> 一歩進んだのはいいのですが、今度は実行中に
> Error inserting module '/tmp/stapXrvzDf/stap_ec4c5588747f294b7414382009f311b5_433.ko': Invalid module format
>
> こんなのが出てしまいます。
> insmodしようとしたらのエラーのようですが、
> systemtapのマニュアルによると、今実行中のカーネルとビルドしたカーネルのバージョンが
> 異なるとのことです。
> カーネルのソースは
>
> $ apt-get source linux-image-$(uname -r)
> のようにして入れたのですが、
> linux-2.6_2.6.26.orig.tar.gz
> linux-2.6_2.6.26-25lenny1.dsc
> linux-2.6_2.6.26-25lenny1.diff.gz
> の3つがダウンロードされ、
> linux-2.6_2.6.26.orig.tar.gz を展開してビルドしました。
> これは、2.6.26-25lenny1をビルドしたことになるのですかね?

はい。

> dmesgを見ると、
>
> Linux version 2.6.26-2-amd64 (Debian 2.6.26-21lenny3)
>
> と出てるので、debianのバージョン表記は確かに異なります。
> (debianのバージョン表記のlinux自体の 2.6.26-2 の関連性もよくわかっていません。)
>
2.6.26 の ABI バージョン2という意味です。ABIのバージョンは Debian が独自に付けているものです。

> そこで、2.6.26-21lenny3のソースをビルドしたいのですが、
> そのようなパッケージは見つかりませんでした。
> この問題に対して、どのように解決すればよいか、何かご教授頂ければと思います。
> とりとめのない説明で大変失礼しました。どうぞ宜しくお願いします。
>

snapsots.debian.org から古いパッケージをダウンロードすることができます。

カーネルソースは
http://snapshot.debian.org/package/linux-2.6/2.6.26-21lenny3/
です。

2.6.26-21lenny3 は古いカーネルなので、新しいカーネルにする方法もあります。
sudo apt-get upgrade ;  sudo apt-get dist-upgrade で、2.6.26-21lenny3
から2.6.26-25lenny1に更新されると思います。

以上、よろしくお願いします。

岩松
-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6