Compilando ou atualizando um kernel Linux

Nesse artigo, você irá aprender a customizar um kernel, ou apenas, atualizá-lo de forma manual.

[ Hits: 15.128 ]

Por: Luiz Casali em 07/08/2012


Antes de Compilar



Olá,

Antes de personalizar um kernel, nós precisamos obter algumas informações, além dos pacotes necessários e o kernel. Com este método, podemos instalar qualquer versão, e ainda personalizar com o nome desejado.

Neste exemplo, foi utilizando o Debian 6 x86.

1. Verificação do kernel instalado, pacotes necessários, download do kernel desejado e descompactação.

1.1. Verificando a versão do kernel instalada.

Primeiro, devemos verificar qual a versão do kernel estamos rodando. Para isso, basta rodar o comando:

# uname -r

Meu resultado foi a versão:
2.6.26-2

Obs.: Caso você pergunte, o que cada um deste números significa, aqui vai uma revisão:
  • 1º campo (2)   -> versão maior
  • 2º campo (6)   -> versão menor
  • 3º campo (26) -> patch level
  • 4º campo (2)   -> extra version

1.2. Baixando os pacotes necessários

Precisamos de 4 pacotes, são eles: make, gcc, build-essential e libncurses5-dev.

# apt-get install make gcc build-essential libncurses5-dev

1.3. Baixar a versão do kernel desejada

Vá em kernel.org, e baixe a versão desejada.

Nesse exemplo, instalarei a versão 2.6.28, porém, o mesmo método pode ser utilizado por outras versões. Já instalei, em testes, a versão 3.5 sem problemas.

* Vale a pena lembrar que, a versão estável mais recente no dia da criação do artigo, é a 3.4.7.

Após feito o download, você terá um arquivo assim: linux-2.6.28-5.tar.bz2

Ou, o arquivo correspondente à versão escolhida.

* Para facilitar,salvei o arquivo em /root.

1.4. Após baixado, precisamos descompactar e colocar estes arquivos no lugar ideal.

Primeiro descompacte o arquivo:

# tar -xf linux-2.6.28.tar.bz2 -C /usr/src

Com este comando, estamos extraindo o arquivo e já apontando o destino dele.

Detalhando as seguintes opções utilizadas:
  • -x : Indica que você deseja extrair o arquivo;
  • -f : Aponta para o aquivo desejado.

    A opção '-f' precisa ser a última quando utilizamos o '.tar'. Podemos acrescentar outras opções, como o '-v' (verbose), porém o '-f' será a ultima opção independente das que você estiver usando;

  • -C (maiúsculo) : Esta opção é utilizada para apontar o caminho de destino desejado.

Feito isso, você terá uma pasta chamada 'linux-2.6.28' em /usr/src: /usr/src/linux-2.6.28

Na próxima etapa, iremos personalizar nosso kernel e criar sua imagem.

    Próxima página

Páginas do artigo
   1. Antes de Compilar
   2. Personalizando/compilando o kernel - Módulos
Outros artigos deste autor

Servidor de logs para Routers e Switches Cisco

Leitura recomendada

Recompilar o Kernel? Isso ainda existe??

Como mudar o logo no kernel 2.6

Conheçam a linguagem D (saiu do forno)!

KernelCheck - Instalando o kernel mais recente em distros Debian-like e outras

Ativando zRAM no Slackware

  
Comentários
[1] Comentário enviado por dalveson em 07/08/2012 - 10:46h

otimo artigo Luiz Casali, esta de facil entendimento, sem contar que pode ser utilizado como base para inumeras outras tarefas que exijam recompilação de kernel como modulos extrar (layer7, ipp2p e etc..).

[2] Comentário enviado por removido em 08/08/2012 - 03:34h

Olá.

Eu tive problemas para compilar kernel de configuração zerada e gostaria de saber se há documentação/tabela prá comparar aqueles códigos hexadecimais que saem do lspci, lsusb etc. com o que há disponível no kernel, se há suporte etc., inclusive de repente até com a libusb.

*** ADD ***

Encontrei algo:

http://pci-ids.ucw.cz/read/PC/
http://kmuto.jp/debian/hcl/

[3] Comentário enviado por fabregas em 09/08/2012 - 14:17h

Quando fui extrair esse arquivo com o tar ele me retornou uma erro. File doesn't exist. Tar exiting now. ??? Oque será que pode ter ocorrido ?

[4] Comentário enviado por luizcasali em 10/08/2012 - 09:05h

Fabregas,

Como foi a sintaxe que você usou?

Você apontou pro arquivo no caminho certo do arquivo?
em que dir você estava quando deu o comando e qual foi a sintaxe?




[5] Comentário enviado por paulloal em 13/08/2012 - 14:20h

no comando

# make modules_install

ocorre o seguinte

make: *** Sem regra para processar o alvo ´modules_ install'. Pare

o que seria?

[6] Comentário enviado por aristidesbneto em 18/08/2012 - 15:57h

Meu note não aguenta o tranco para compilação... o processador fica rugindo aqui.
Quando chego no comando make modules ele fica um tempo e desliga!!!

Já aconteceu isso em outras tentativas, ele sempre desliga nessas horas...

Na verdade gostaria de saber o que significa cada comando que a gente usa, já vi outros que usa make -j4, etc...

Mas está de parabens pelo artigo... favoritado!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts