¿Dónde descargar el código fuente del kernel de Linux de una versión específica?

24

¿Hay algún recurso para descargar una fuente de versión de kernel específica? Por ejemplo, quiero obtener fuentes 2.6.36.2 para comparar con este paquete y ver qué cambios se introdujeron.

RaoulDuke
fuente
1
El enlace en esta pregunta parece estar roto.
Faheem Mitha

Respuestas:

28

La forma más fácil y amigable con el ancho de banda, si espera hacer esto más de una vez, sería clonar el repositorio git del kernel y verificar la versión que desea en función de su etiqueta. Probablemente sea mejor clonar el repositorio estable de Linux , ya que eso incluirá etiquetas para todas las versiones estables:

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

Para luego cambiar a otra versión, es fácil:

git checkout v3.5.2

Para actualizar su repositorio para incluir todas las etiquetas y confirmaciones más recientes:

git fetch
Jim Paris
fuente
1
¿Alguna pista de por qué las etiquetas menores no se muestran en GitHub? Por ejemplo, github.com/torvalds/linux/releases/tag/v3.5.2 vs github.com/torvalds/linux/releases/tag/v3.5 ni en git.kernel.org/pub/scm/linux/kernel/git/ torvalds / linux.git / refs
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
1
--depthy --branchtambién puede reducir drásticamente el tamaño del clon: unix.stackexchange.com/a/473373/32558
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
9

Si no desea descargar todo el historial de confirmación del núcleo (que está muy por encima de 1 GiB), puede descargar solo una parte del repositorio de Git del núcleo que conduce a la rama deseada. Por ejemplo, para verificar localmente el kernel de Ubuntu en la versión 4.5, haría:

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

De esta manera, el clon es de aproximadamente 150 MiB.

Martin Pecka
fuente
1
--depthimplica --single-branchBTW, de acuerdo con man git-clone.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
0

Si solo desea obtener una etiqueta para una compilación rápida, haga lo siguiente:

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

--depth 1 hace un clon superficial, que reduce drásticamente el tiempo de clonación y el uso del disco.

Desafortunadamente, solo funciona para etiquetas actualmente, no confirmaciones arbitrarias, debido a cómo funciona y está configurado el servidor cgit git. Ver también: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset

Ver también: ¿Por qué el clon git del código fuente del kernel de Linux es mucho más grande que el tar.xz extraído?

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