1

LinuxでカスタムUSBドライバーを作成するためのチュートリアルに従っています.g ++を使用して、Ubuntu Eeeを搭載したEee PCでこのことを開発したいと考えています。残念ながら、チュートリアルに従うには、linux/module.h ヘッダー ファイルが必要です。私が理解していることから、これを機能させるにはカーネルをコンパイルする必要があります。以前にカーネルをコンパイルしたことがなく、見つけたすべての指示はデスクトップ Ubuntu 用です。

これを実行してクラス プロジェクトで使用できれば、クラスで追加の単位を取得できるため、Eee でこれを実行しています。

私がフォローしているチュートリアルはここにあります: http://www.linuxjournal.com/article/7353 とここ: http://www.linuxjournal.com/article/4786

4

2 に答える 2

5

主要な Linux ディストリビューションのほとんど (すべて?) は、Linux カーネルを配布するだけでなく、多数のパッチを適用しています。これにより、安定性が向上し、多くの機能が追加されます。 したがって、Ubuntu のパッケージ システムを使用して、Ubuntu のパッチが適用されたカーネル ソースを取得する必要があります。

おそらくカーネルを再構築する必要はありません! ほとんどの場合、USB ドライバーをコンパイルするには、現在のカーネルの kernel-headers パッケージが必要なだけです。カーネルモジュールとして構築していると仮定すると、modprobe または insmod でロードできます。(lsmod と rmmod も便利です。)

カーネルを再構築する必要がある場合は、簡単です。(非常に簡単なので、カーネル ビルドを使用してハードウェアをテストしています。)ウェブ上にはカーネル ビルドの HOWTO がたくさんあります。モジュールとしてどのオプションが必要か、何をコンパイルしたいか、何を省略したいかを理解しようとするのはとても楽しいことです。カーネルを小さくすることはできますが、その一部を見逃す可能性があります。



追加するように修正:

「sudo apt-get install linux-headers-eeepc」を実行したことを覚えていますが、それ以上必要ですか? そうでない場合、「linux/module.h」を含む私のテストコードがコンパイルされないため、これらのヘッダーはどこにありますか

その linux-headers-eeepc パッケージ内のすべてのファイルを一覧表示する方法があるはずです。私は RedHat/RPM の世界から来ました。しかし、私はdpkg --contents linux-headers-eeepcまたはdpkg --listfiles linux-headers-eeepcのようなものを推測します。あなたはそれを少しいじる必要があるかもしれません。

あるいは、http://packages.ubuntu.com/から判断すると、linux-headers-2.6.27-7 のようなパッケージにはファイル /usr/src/linux-headers-2.6.27-7/include/linux/module が含まれています。 h. そのため、 /usr/src/*/include/linux/module.hを調べてみてください。

または、次を試してください。

% linux/module.h を見つけます | grep 'linux/module.h$'

または

% find / -path '*/linux/module.h'

(検索が完了するまでに時間がかかる場合があります...)

于 2009-01-29T20:34:53.880 に答える
2

ここから: Ubuntu Kernel/Compile 開始するには: sudo apt-get install linux-kernel-devel fakeroot build-essential makedumpfile

おそらくそのリンクを読んでください。

詳しい詳細はこちら

于 2009-01-29T20:41:26.333 に答える