回答:
これを複数回行う場合、最も簡単で帯域幅に優しい方法は、カーネルのgitリポジトリのクローンを作成し、そのタグに基づいて必要なバージョンをチェックアウトすることです。おそらく、すべての安定版リリースのタグが含まれるため、linux-stable repoを複製するのが最善です。
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux
git checkout v2.6.36.2
後で別のバージョンに切り替えるには、簡単です。
git checkout v3.5.2
リポジトリを更新して最新のタグとコミットをすべて含めるには:
git fetch
はい、kernel.orgには、2.6.36.2を含むすべてのリリースバージョンがあります。ただし、ほとんどのLinuxディストリビューションは、独自のパッチをバニラカーネルソースに適用することに注意してください。
カーネルコミット履歴全体(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です。
--depth
--single-branch
によると、BTWを意味しman git-clone
ます。
迅速なコンパイルのために1つのタグを取得するだけの場合は、次のようにします。
git clone --depth 1 --branch v4.18 \
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
--depth 1
浅いクローンを作成し、クローン作成時間とディスク使用量を大幅に削減します。
これは、cgit gitサーバーの動作方法と設定方法が原因で、現在残念なことにタグに対してのみ機能し、arbitrary意的なコミットに対しては機能しません。参照:https : //stackoverflow.com/questions/3489173/how-to-clone-git-repository-with-specific-revision-changeset