Kernel Linux em Poucas Palavras – Parte 3

Se tiver alguma dúvida, consulte os PDFs em inglês disponibilizados no fim do post.

*---*---*---*---*---*---*---*---*---*---*
Obtendo o Kernel Linux

Quando você está compilando o seu próprio kernel, você deseja ter a versão estável mais recente. Muitas distribuições fornecem seus próprios pacotes com os códigos-fonte, mas elas raramente são as versão mais recentes do kernel. Os pacotes de distribuições tem a vantagem de ter sido feito para ser compatível com o compilador e outras ferramentas fornecidas pela distribuição (o capítulo 2 explica a importância delas serem compatíveis) mas elas podem acabar não tendo a funcionabilidade e performance que você deseja. Se você quer criar o seu própro ambiente com a versão mais recente do kernel, compilador e outras ferramentas, você será capaz de criar exatamente o que você deseja. Essa capítulo se foca em determinar quais ódigos-fonte do kernel baixar e como obtê-las.

Qual Árvore Usar

No passado, o kernel Linux era separado em somente duas árvores, a versão "development" e a versão "stable". A versão development era indicada por um número ímpar no segundo número da versão, enquanto a versão stable usava números pares. Então, como exemplo, a versão 2.5.25 era um kernel em desenvolvimento, enquanto a versão 2.4.25 é uma versão estável.

Mas depois que a série 2.6 foi criada, os desenvolvedores do kernel decidiram abandonar esse método de ter duas árvores separadas e declararam que todas as versões do kernel 2.6 seriam consideradas "estáveis", não importando a velocidade do desenvolvimento. Os poucos meses entre os principais lançamentos da série 2.6 dariam aos desenvolvedores do kernel tempo para adicionar novas funcionalidades e então estabilizá-las a tempo do próximo lançamento. Além disso, uma ramificação "-stable" foi criada para arrumar bugs das versões e atualizações de segurança para versões passadas do kernel, antes que a próxima versão principal da série 2.6 seja lançada.

Tudo isso é melhor explicado com alguns exemplos, ilustrados na Figura 3.1. A equipe do kernel lançou o kernel 2.6.17 como uma versão estável. Então os desenvolvedores iniciaram o trabalho em novas funcionalidades e iniciaram lançando versões -rc como kernels em desenvolvimento para que as pessoas pudessem ajudar a testar e debugar as mudanças. Após que todos concordaram que a versão em desenvolvimento estava estável o suficiente, ela foi lançada como o kernel 2.6.18. Todo esse ciclo normalmente leva cerca de 2 ou três meses, dependendo de uma variedade de fatores.


Figura 3-1. Ciclo de lançamento do desenvolvimento do kernel.

Enquanto o desenvolvimento de novas funcionalidades estava ocorrendo, a versões estáveis 2.6.17.1, 2.6.17.2 e outras foram lançadas, contendo conserto de bugs e atualizações de segurança.

Se você deseja usar a versão mais recente no seu trabalho, é recomendado que você utilize as versões estáveis do kernel. Se você deseja ajudar os desenvolvedores do kernel a testar as funcionalidades da próxima versão do kernel e fazer um feedback, utilize a versão do kernel em desenvolvimento. Para efeito desse capítulo, assumiremos que você está usando uma versão estável do kernel.

Onde Achar o Código-Fonte do Kernel

Todos os códigos-fonte do kernel Linux podem serem encontrados em um do sites do kernel.org, uma rede mundial de servidores que hospedam o código-fonte do Linux, habilitando qualquer um encontrar um servidor local perto de si. Isso permite que os principais servidores do kernel sejam suscetíveis aos sites que hospedam os códigos-fonte e permite que os usuários baixem os arquivos necessários o mais rápido possível.

O site principal - http://www.kernel.org - mostra todas as versões atuais do kernel de várias árvores diferentes do kernel, como mostrado na Figura 3.2.


Figura 3-2. O site principal do projeto kernel.org

Para baixar a versão estável mais recente do kernel, clique no caracter F na linha da versão do kernel. Isso baixará o código-fonte inteiro da árvore. Ou você pode navegar até a sub-pasta apropriada para ver todas as versões do kernel da série 2.6, http://www.us.kernel.org/pub/linux/kernel/v2.6, como é mostrado na Figura 3-3.

Também é possível baixar o código-fonte do kernel pela linha de comando, utilizando as ferramentas wget e curl, ambas devem vir na sua distribuição Linux.

Para baixar a versão 2.6.17.8 do kernel usando o wget, insira o comando:

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz
--17:44:55-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.
tar.gz
=> `linux-2.6.17.8.tar.gz'
Resolving www.kernel.org... 204.152.191.5, 204.152.191.37
Connecting to www.kernel.org|204.152.191.5|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51,707,742 (49M) [application/x-gzip]
100%[=============================================>] 51,707,742 35.25K/s
ETA 00:00
18:02:48 (47.12 KB/s) - `linux-2.6.17.8.tar.gz' saved [51707742/51707742]



Figura 3-3. A pasta do código-fonte do kernel 2.6

Para baixar usando curl:

$ curl http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz \
-o linux-2.6.17.8.tar.gz
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent Left
Speed
100 49.3M 100 49.3M 0 0 50298 0 0:17:08 0:17:08 --:--:--
100k


Uma maneira rápida e fácil para ver a versão do kernel mais recente, use a informação disponível em http://www.kernel.org/kdist/finger_banner, ilustrado pela Figura 3-4.

O Que Fazer Com O Código-Fonte

Agora que você baixou o código-fonte do kernel apropriado, onde ele deve ficar? Aconselhamos criar um diretório local na sua pasta home chamada linux para guardar dos os arquivos de códigos-fonte de diferentes versões do kernel:

$ mkdir ~/linux


Figura 3-4. Versão do kernel mais recente

Agora mova o código-fonte para esse diretório:

$ mv ~/linux-2.6.17.8.tar.gz ~/linux

E entre no diretório:

$ cd ~/linux
$ ls
linux-2.6.17.8.tar.gz


Agora que o código-fonte está na pasta correta, descompacte o arquivo:

$ tar -xzvf linux-2.6.17.8.tar.gz

A tela será preenchida com os arquivos que são descompactados e aparecerá seguinte no diretório linux/:

$ ls
linux-2.6.17.8.tar.gz
linux-2;6;17.8/


*---*---*---*---*---*---*---*---*---*---*


PDF em inglês - Chapter 3: Retrieving the Kernel Source

*---*---*---*---*---*---*---*---*---*---*

Qualquer correção, crítica & derivados, nos comentários por favor. Agradecido.
 
Powered by FeedBurner Creative Commons License
Esta obra está licenciada sob uma Licença Creative Commons.