Belirli bir çekirdek sürüm kaynağını indirmek için bir kaynak var mı? Örneğin, bu paketle karşılaştırmak için 2.6.36.2 kaynak edinmek ve hangi değişikliklerin yapıldığını görmek istiyorum?
Belirli bir çekirdek sürüm kaynağını indirmek için bir kaynak var mı? Örneğin, bu paketle karşılaştırmak için 2.6.36.2 kaynak edinmek ve hangi değişikliklerin yapıldığını görmek istiyorum?
Yanıtlar:
En kolay ve en geniş bant dostu yöntem, bunu bir kereden fazla yapmayı planlıyorsanız, çekirdeğin git deposunu klonlamak ve etiketine göre istediğiniz sürümü gözden geçirmektir. Tüm kararlı sürümler için etiketler içereceğinden, linux-kararlı repoyu klonlamak muhtemelen en iyisidir :
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux
git checkout v2.6.36.2
Daha sonra başka bir sürüme geçmek için kolay:
git checkout v3.5.2
Deponuzu en son etiketlerin ve taahhütlerin tümünü içerecek şekilde güncellemek için:
git fetch
--depth
ve --branch
ayrıca klon boyutunu büyük ölçüde azaltabilir: unix.stackexchange.com/a/473373/32558
Evet, kernel.org 2.6.36.2 dahil tüm sürümlere sahiptir . Bununla birlikte, çoğu Linux dağıtımının vanilya çekirdeği kaynağına kendi yamaları uyguladığını unutmayın.
Çekirdek işleme geçmişinin tamamını (1 GiB'nin üzerinde) indirmek istemiyorsanız, çekirdeğin Git deposunun yalnızca istediğiniz dalına götüren kısmını indirebilirsiniz. Örneğin, 4.5 sürümündeki Ubuntu çekirdeğini yerel olarak kontrol etmek için şunları yapmalısınız:
git clone --depth 1 --single-branch --branch v4.5 git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
Bu şekilde, klon yaklaşık 150 MiB'dir.
--depth
--single-branch
göre BTW anlamına gelir man git-clone
.
Hızlı derleme için sadece bir etiket almak istiyorsanız, şunları yapın:
git clone --depth 1 --branch v4.18 \
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
--depth 1
klon süresini ve disk kullanımını büyük ölçüde azaltan sığ bir klon yapar.
Cgit git sunucusunun nasıl çalıştığından ve konfigürasyonundan dolayı, sadece etiketler için şu anda maalesef isteğe bağlı taahhütlerde bulunmuyor. Ayrıca bakınız: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset
Ayrıca bakınız: Neden Linux çekirdek kodunun git klonu çıkarılan tar.xz'den daha büyük?