kernel-develに「空の」ディレクトリが多すぎるのはなぜですか?

kernel-develに「空の」ディレクトリが多すぎるのはなぜですか?

私は長年にわたってWindowsカーネル開発者として働いてきました。これでLinuxカーネルモジュールの開発を開始します。

まず、 kernel-devel./usr/src/kernels/$(uname -r)Kconfig2つのファイルを除いて、多くのフォルダが空ですMakefile

Windowsでカーネルデバイスドライバを開発するには、必要なすべてのヘッダーファイルを含むインクルードフォルダに関連付ける必要があるライブラリを含むlibフォルダのみが必要です。

Linuxでは、役に立たないようなフォルダがなぜそんなに多くあるのか理解できません。

説明がありますか?

答え1

kernel-develFedora およびその他の Red Hat 派生パッケージのパッケージ完全なカーネルソースコードが含まれていません。は、ドライバの開発に必要なパブリックインターフェイスとmakefileヘッダーです。ほとんどのヘッダーは、/usr/src/kernels/$(uname -r)/include/一部のアーキテクチャ固有のヘッダー(x86など)にあります/usr/src/kernels/$(uname -r)/arch/x86/include/

そしてディレクトリは役に立ちKconfigませんMakefile。完全なカーネルソース(通常はドライバ開発には必要ありません)がないため、画像全体を見ることはできません。

関連情報