web-dev-qa-db-ja.com

特定のバージョンのLinuxカーネルソースコードはどこにダウンロードしますか?

特定のカーネルバージョンソースをダウンロードするためのリソースはありますか?たとえば、2.6.36.2のソースを取得して このパッケージ と比較し、導入された変更を確認したいのですが?

24
RaoulDuke

これを複数回行うことが予想される場合、カーネルのgitリポジトリのクローンを作成し、そのタグに基づいて必要なバージョンをチェックアウトするのが、最も簡単で帯域幅に適した方法です。 linux-stable repo のクローンを作成することをお勧めします。これには、すべての安定版リリースのタグが含まれるためです。

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout v2.6.36.2

後で別のバージョンに切り替えるのは簡単です。

git checkout v3.5.2

リポジトリを更新して最新のタグとコミットをすべて含めるには:

git fetch
28
Jim Paris

はい、 kernel.org には すべてのリリースされたバージョン があり、 2.6.36.2 が含まれています。ただし、ほとんどのLinuxディストリビューションは独自のパッチをVanillaカーネルソースに適用していることに注意してください。

13
scai

カーネルコミット履歴全体(1 GiBをはるかに超える)をダウンロードしたくない場合は、目的のブランチにつながるカーネルGitリポジトリのそのような部分のみをダウンロードできます。例えば。バージョン4.5のUbuntuカーネルをローカルでチェックアウトするには、次のようにします。

git clone --depth 1 --single-branch --branch v4.5  git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack

このように、クローンは約150 MiBです。

9
Martin Pecka

すばやくコンパイルするために1つのタグを取得するだけの場合は、次のようにします。

git clone --depth 1 --branch v4.18 \
  git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

--depth 1浅いクローンを作成します。これにより、クローン作成時間とディスク使用量が大幅に削減されます。

Cgit gitサーバーがどのように機能し構成されているかにより、現在のところ残念ながら任意のコミットではなくタグに対してのみ機能します。参照: https://stackoverflow.com/questions/3489173/how-to-clone-git-repository-with-specific-revision-changeset

参照: Linuxカーネルソースコードのgitクローンが、抽出されたtar.xzよりはるかに大きいのはなぜですか?