Dove scaricare il codice sorgente del kernel Linux di una versione specifica?


24

Esiste una risorsa per scaricare un'origine specifica della versione del kernel? Ad esempio, voglio ottenere fonti 2.6.36.2 da confrontare con questo pacchetto e vedere quali modifiche sono state introdotte?


1
Il link in questa domanda sembra essere rotto.
Faheem Mitha,

Risposte:


28

Il modo più semplice e più adatto alla larghezza di banda, se ti aspetti di farlo più di una volta, sarebbe clonare il repository git del kernel e verificare la versione che desideri in base al suo tag. Probabilmente è meglio clonare il repository Linux stabile , poiché includerà i tag per tutte le versioni stabili:

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

Per passare successivamente a un'altra versione, è facile:

git checkout v3.5.2

Per aggiornare il repository in modo da includere tutti gli ultimi tag e commit:

git fetch


1
--depthe --branchpuò anche ridurre drasticamente la dimensione del clone: unix.stackexchange.com/a/473373/32558
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件


9

Se non si desidera scaricare la cronologia di commit dell'intero kernel (che è ben al di sopra di 1 GiB), è possibile scaricare solo una parte del repository Git del kernel che porta al ramo desiderato. Ad esempio per verificare localmente il kernel Ubuntu nella versione 4.5, dovresti fare:

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

In questo modo, il clone è di circa 150 MiB.


1
--depthimplica --single-branchBTW, secondo man git-clone.
Ciro Santilli 5 改造 中心 法轮功 六四 事件

0

Se vuoi solo ottenere un tag per una compilazione rapida, esegui:

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

--depth 1 fa un clone superficiale, che riduce drasticamente il tempo di clone e l'utilizzo del disco.

Sfortunatamente funziona solo con tag attualmente, non con commit arbitrari, a causa del modo in cui il server cgit git funziona e viene configurato. Vedi anche: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset

Vedi anche: Perché il clone git del codice sorgente del kernel Linux è molto più grande di tar.xz estratto?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.