主要な 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'
(検索が完了するまでに時間がかかる場合があります...)