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

[debian-users:33234] Re: How to build kernel module ?



アドバイス有難うございます > 武藤さん

>> On Tue, 4 Jun 2002 09:22:10 +0900
>> kmuto@xxxxxxxxxxxxxxx (Kenshi Muto) said as follows:

>> 単純に考えると,使用中の kernel の config と header file を使って,
>> モジュールパッケージのみを再構築できれば良いと思うのですが,そのよ
>> うな方法をご存じの方がいらしたら教えていただけないでしょうか.

>kernel-imageに相当するkernel-headers(たとえば2.2.20-i386)をインストー
>ルすると、/usr/src/kernel-headers-2.2.20/というのができると思います。
>このディレクトリの中で

># make-kpkg --revision 2.2.20-5 modules_image

>を実行すれば、該当バージョン/リビジョンに相当する新しいモジュールパッ
>ケージを作れるでしょう。

この方法だと,

    We do not seem to be in a top level linux kernel source directory
    tree. <後略>

というエラーメッセージが出力されて駄目でした.make-kpkg の該当部分を眺
めると,

  if (!(-d "drivers" && -d "kernel" && -d "fs" && -d "include/linux")){
    print STDERR <<EOERR;

となっているので,drivers/, kernel/, fs/ の各ディレクトリが存在しない
ためにエラーになっていたようです.

これらのディレクトリを試しに作成して再トライしてみましたが,更に,
stamp file を作成しようとしたり,debian/ ディレクトリを作ろうとされた
りしたので,こういう使い方は make-kpkg は想定していないのではないか,
という気がしてきました.

>kernel-headersの代わりにkernel-sourceを使う場合、kernel-sourceを展開
>したあとで/boot/config-*をこのディレクトリに「.config」という名前でコ
>ピーすれば、あとは同様です。

こちらの方法では,kernel-source を展開した場所で作業できるので,まだ気
楽ですが,build 時の header files がきちんと参照されるかが気になります.
例えば,手元の kernel-source-2.2.20.tar.bz2 には modversions.h が含ま
れていませんでしたから,これを参照するモジュールはコンパイルできないは
ずです.

KVERS / KSRC などのマクロを独自に指定して debian/rules を直接呼び出す
しかないのでしょうか.

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )