Linuxカーネルソースツリーとは何ですか?これには何が含まれており、その目的は何ですか?
外部モジュールを構築しようとしていますが、私が使用しているチュートリアルでは、カーネルソースツリーが利用可能であることを確認してください。
利用可能な場合は、Ubuntuでどこで見つけることができますか?
ここにも同様の質問があります。
カーネルソースツリーには何が含まれていますか?これはLinuxカーネルヘッダファイルに関連していますか?
しかし、私の質問に対する答えは表示されません。
この点を明確にできればいいと思います。
答え1
ソースツリーは、すべてのカーネルソースコードを含むディレクトリです。新しいカーネルをビルドしてインストールし、コンピュータを再起動して再構築されたカーネルを使用できます。学習に加えて、人々はあまり一般的に使用されていないオプションを選択するか、通常はLinuxにバンドルされていないデバイスドライバを追加するためにカーネルを再構築します。
あなたはそれを見つけることができません存在するUbuntuではソースtarファイルをダウンロードする必要がありますkernel.org
。 Ubuntuは多くの目的でDebianパッケージを使用しており、後者のWebサイトではこれらのパッケージを見つけるのが簡単です。
どちらの場合も、「raw」tarファイル(「アップストリーム」の)と「debian」アドイン(スクリプトとパッケージ)が含まれています。 Debian から両方のファイルをダウンロードできます。インストールされているカーネルパッケージのソースコードを探している場合は、両方の部分をダウンロードできます。
"linux-source"パッケージをインストールすることもできます:DebianとUbuntuいくつかのソースパッケージが用意されています。他のパッケージの数万個と比較して、名前に「-source」を含むパッケージは数十個しか確認されていません。多くの修正(およびカスタマイズ)が必要であり、ソースパッケージはこれらのパッチをツリーにマージするため、ソースパッケージが優先されます。
約10年前まででも、サウンド、ビデオ、ネットワーキングのためのドライバーが不足してカーネルを頻繁にビルドしました。
答え2
カーネル開発者は、特定のgitリポジトリに言及しながら、「私の木」と「その木」についてよく話します。ディレクトリツリー構造は、現在のgitリポジトリでどのブランチまたはタグがチェックアウトされているかによって異なります。 Gitの分岐システムは次のとおりです。返品ツリー構造(したがって「ブランチ」という名前)と見なされるのは、ディレクトリ構造とはまったく異なる概念です。したがって、最初の質問に対する答えは、見た目ほど簡単ではありません。私の経験によると、一部の人にとって、「カーネルツリー」という用語は、カーネルソースコードの特定のgitリポジトリに存在するgitブランチとそのコンテンツのコレクションを意味します。彼らは「linux-next」がメインラインツリーとは異なるツリーであると言います。