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?
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?
Respostas:
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
--depth
e --branch
também pode reduzir drasticamente o tamanho do clone: unix.stackexchange.com/a/473373/32558
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.
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.
--depth
implica --single-branch
BTW, de acordo com man git-clone
.
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?