Où télécharger le code source du noyau Linux d'une version spécifique?

24

Existe-t-il une ressource pour télécharger une source de version de noyau spécifique? Par exemple, je veux obtenir des sources 2.6.36.2 pour comparer avec ce package et voir quelles modifications ont été introduites?

RaoulDuke
la source
1
Le lien dans cette question semble rompu.
Faheem Mitha

Réponses:

28

Le moyen le plus simple et le plus convivial pour la bande passante, si vous vous attendez à le faire plus d'une fois, serait de cloner le référentiel git du noyau et de vérifier la version que vous souhaitez en fonction de sa balise. Il est probablement préférable de cloner le dépôt linux-stable , car cela inclura des balises pour toutes les versions stables:

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

Pour passer ultérieurement à une autre version, rien de plus simple:

git checkout v3.5.2

Pour mettre à jour votre référentiel pour inclure toutes les dernières balises et validations:

git fetch
Jim Paris
la source
1
Un indice pourquoi les balises mineures ne s'affichent pas sur GitHub? Par exemple, github.com/torvalds/linux/releases/tag/v3.5.2 vs github.com/torvalds/linux/releases/tag/v3.5 Ni sur git.kernel.org/pub/scm/linux/kernel/git/ torvalds / linux.git / refs
Ciro Santilli 事件 改造 中心 法轮功 六四 事件
1
--depthet --branchpeut également réduire considérablement la taille du clone: unix.stackexchange.com/a/473373/32558
Ciro Santilli 事件 改造 中心 法轮功 六四 事件
9

Si vous ne souhaitez pas télécharger l'historique complet des validations du noyau (qui est bien supérieur à 1 Gio), vous ne pouvez télécharger qu'une partie du référentiel Git du noyau qui mène à la branche souhaitée. Par exemple, pour extraire localement le noyau Ubuntu dans la version 4.5, vous feriez:

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

De cette façon, le clone fait environ 150 Mio.

Martin Pecka
la source
1
--depthimplique --single-branchBTW, selon man git-clone.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
0

Si vous voulez juste obtenir une balise pour une compilation rapide, faites:

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

--depth 1 fait un clone superficiel, ce qui réduit considérablement le temps de clonage et l'utilisation du disque.

Malheureusement, cela ne fonctionne que pour les balises, pas de commits arbitraires, en raison de la façon dont le serveur cgit git fonctionne et est configuré. Voir aussi: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset

Voir aussi: Pourquoi le clone git du code source du noyau Linux est-il beaucoup plus volumineux que le tar.xz extrait?

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
la source