Onde baixar o código fonte do Linux Kernel de uma versão específica?

24

Existe um recurso para baixar uma fonte de versão específica do kernel? Por exemplo, quero obter fontes 2.6.36.2 para comparar com este pacote e ver quais alterações foram introduzidas?

RaoulDuke
fonte
1
O link nesta pergunta parece estar quebrado.
Faheem Mitha

Respostas:

28

A maneira mais fácil e mais amigável à largura de banda, se você espera fazer isso mais de uma vez, seria clonar o repositório git do kernel e verificar a versão desejada com base em sua tag. Provavelmente é melhor clonar o repositório estável do linux , pois isso incluirá tags para todas as versões estáveis:

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

Para mudar posteriormente para outra versão, é fácil:

git checkout v3.5.2

Para atualizar seu repositório para incluir todas as tags e confirmações mais recentes:

git fetch
Jim Paris
fonte
1
Alguma pista de por que pequenas tags não aparecem no GitHub? Por exemplo, github.com/torvalds/linux/releases/tag/v3.5.2 vs github.com/torvalds/linux/releases/tag/v3.5 Nem no git.kernel.org/pub/scm/linux/kernel/git/ torvalds / linux.git / refs
Ciro Santilli escreveu:
1
--depthe --branchtambém pode reduzir drasticamente o tamanho do clone: unix.stackexchange.com/a/473373/32558
Ciro Santilli escreveu:
12

Sim, o kernel.org possui todas as versões lançadas , incluindo 2.6.36.2 . Observe, no entanto, que a maioria das distribuições Linux aplica patches próprios à fonte do kernel vanilla.

scai
fonte
9

Se você não deseja fazer o download do histórico completo de consolidação do kernel (que está bem acima de 1 GiB), é possível fazer o download apenas dessa parte do repositório Git do kernel que leva ao ramo desejado. Por exemplo, para fazer checkout local do kernel do Ubuntu na versão 4.5, você deve:

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

Dessa forma, o clone é de cerca de 150 MiB.

Martin Pecka
fonte
1
--depthimplica --single-branchBTW, de acordo com man git-clone.
Ciro Santilli # 5/18
0

Se você deseja obter apenas uma tag para compilação rápida, faça:

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

--depth 1 faz um clone superficial, o que reduz drasticamente o tempo de clone e o uso do disco.

Infelizmente, ele funciona apenas para tags atualmente, não para confirmações arbitrárias, devido ao modo como o servidor cgit git funciona e está configurado. Consulte também: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset

Veja também: Por que o clone git do código-fonte do kernel Linux é muito maior que o tar.xz extraído?

Ciro Santilli adicionou uma nova foto
fonte