Como compilar o kernel do Linux (testado e revisado)

Esse artigo vai afastar o medo que usuários tem do Kernel Panic. Tentei explicar de modo didático como como ter um resultado desejado por todos. No decorrer da semana testei vários artigos do Viva o Linux e este texto retrata minha conclusão.

[ Hits: 76.645 ]

Por: Marcelo Gonçalves em 15/11/2008


Porque compilar o kernel



Segundo Carlos Morimoto, o kernel é o coração do sistema, pois é o kernel que faz a comunicação entre o hardware e o software. Os módulos são como drivers para os dispositivos, ele sobem junto com o sistema quando o mesmo está sendo inicializado. Kernel tem uma pasta com 50MB de módulos, isso pode chegar em torno a 1000 módulos, mas apenas entre 15 a 25 que ficam ativos.

A grande vantagem de possuir módulos é ter a liberdade para ativá-los e desativá-los a hora que for pertinente. Mesmo com toda essas vantagens vocês devem estar indagando:

"Mas porque eu devo compilar o kernel?", essa resposta é bem simples:

1. Personalizar o kernel de acordo com suas necessidades;

2. Atualização de kernel nos apresenta módulos novos. Ex.: Uma versão antiga que não tem suporte wireless, podemos encontrar em uma versão mais nova.

Muitos tem medo de compilar o kernel, eu mesmo tive durante algum tempo e pesquisei muito antes da minha primeira compilação na distro Debian Linux, achei muita coisa, porém "muita" dessas coisas não foram testadas, isso me fez perder tempo e uma contagem enorme de "kernel panic", mas vou passar para vocês um recorte de todas as coisas que encontrei que realmente deu certo.

Essa compilação é para todas as distros que usam a versão 2.6, não quis me prender a um estilo de compilação de uma distro, pois temos que conhecer Linux e não somente uma distro, a questão de distro vem por gosto.

    Próxima página

Páginas do artigo
   1. Porque compilar o kernel
   2. Compilando o kernel
   3. Configurando o GRUB
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Recompilando o Kernel

Kernel 2.6.7 compilado e configurado para nVIDIA

Linux Virtual Memory Management e lentidão ao copiar arquivos grandes para mídia lenta

Compilação de Kernel baseado na versão 2.6 para o LTSP 4.2

Compilação do kernel v3.x no CentOS e Debian

  
Comentários
[1] Comentário enviado por oliviofarias em 16/11/2008 - 01:08h

Bem amigo, nunca meti a cara pra aprender na unha a compilar um kernel.
Sempre li artigos e tutorias, só que nenhum me agradou e achei de forma (para usuários iniciantes) fácil de entende.
Já o seu está bem resumido e de fácil entendimento.
Este artigo está salvo para Domingo ter meu primeiro "Figth" com a compilação de um kernel.
Parabéns pelo artigo :c)

[2] Comentário enviado por marcelovegano em 16/11/2008 - 12:43h

[b]ERRATA [/b]

# tar xjvf linux-2,6,24.tar.bz2 /usr/src
# ls -sf /usr/src/linux-2,6,24 /usr/src/linux

O certo é trocar as vírgulas pelos pontos:


# tar xjvf linux-2.6.24.tar.bz2 /usr/src
# ls -sf /usr/src/linux-2.6.24 /usr/src/linux

[3] Comentário enviado por nicolo em 16/11/2008 - 16:43h

Muito bom, é o mesmo dos debians, já usei com sucesso em slackware 12, funciona. A grande dica é baixar o initrd-tools, sem o que a coisa não se completa. Precisa avisar os iniciantes que:
(i) os pacotes de compilação tem que estar instalados;
(ii) Depois de compilado, os módulos do kernel velho que foram compilados na instalaçao de programas, inclusive módulo de placa de vídeo, precisam ser recompilados, ou seja: precisa reinstalar esses pacotes.

Poderia indicar para começar com o config velho no make menuconfig e alterar só o que for necessário. Configurar do zero é para "majorgeeks". Claro que pode-se obter um resultado otimizado, mas o risco aumenta consideravelmente.
Parabéns.

[4] Comentário enviado por removido em 16/11/2008 - 18:20h

pessoalmente gostei !!!!!!!

[5] Comentário enviado por thiagofanfoni em 17/11/2008 - 09:15h

Realmente ficou muito legal, eu queria ter isso uns 2 anos atrás.
Só para deixar um pouco mais completo, são coisas que eu apanhei para descobrir:
Se você for recompilar um kernel para uma máquina que não usa LVM ou RAID, você não precisará do initrd , des de que a controladora de disco e o sistema de arquivos utilizado estejam marcados como built-in ( * ).
Se você tiver mais de uma placa de som, é legal marcar as 2 como módulo ( M ) , assim você conseguirá utilizar o alsaconf (do pacote alsa-utils).
Na parte de video é sempre legal marcar os módulos VESA e VGA.
Tem uma opção que eu não lembro onde fica (acho que em general) que é para acessar o arquivo de configuração do kernel que está rodando através do /proc , assim se você der um make mrproper você poderá recuperar o arquivo de configuração atraves do comanto zcat /proc/config.gz > /usr/src/linux/.config

[6] Comentário enviado por JotaCapa em 17/11/2008 - 12:17h

Gostava de colocar uma questão.

Após fazer o upgrade do Ubuntu do 8.04 para o 8.10 fiquei sem a possibilidade de gravar CD/DVD's. A questão que coloco, é será que esse procedimento dá para fazer a recompilação do Kernel de acordo com a minha máquina, e dessa forma o sistema passar a gravar CD/DVD's?

jose_azevedo2@hotmail.com

[7] Comentário enviado por brunaocomanda em 17/11/2008 - 15:29h

Bom artigo. A partir da série 2.6 do kernel, o "make bzImage" e "make modules" pode ser substituído apenas pelo "make". Este já faz os dois passos.

[8] Comentário enviado por marcelovegano em 28/02/2009 - 10:03h

o pacote initrd agora é o initramfs-tools

[9] Comentário enviado por alexandreromeu em 25/04/2009 - 03:41h

Bom dia!

Parabéns pelo artigo!

Depois de vários KernelS PanicS, dessa vez consegui compilar um kernel :)
Compilei a versão 2.6.28.
Ela tem suporte à wireless Realtek 8187B (notebook intelbras e alguns positivo).

Editado: Compilei no Debian Stable (5.01).

Algumas observações:

-Na correção da errata faltou trocar o "ls" por "ln" para fazer o link.
-Como vc disse, os pacotes "initrd" mudaram de nome, no meu caso, foi:
"linux-initramfs-tool" e "initramfs-tools"

Também precisei instalar o "make" e o "g++"
aptitude install make
aptitude install g++

Foi só seguir os passos, e quando reiniciei, pela primeira vez depois de tentar compilar não vi o "kernel panic" hahaha
Agora é só alegria.

Mais uma vez, parabéns pelo artigo e muito obrigado. Ajudou muito!

Alexandre Romeu

[10] Comentário enviado por len0n_16 em 05/02/2011 - 01:30h

os pacotes linux-initramfs-tool e initramfs-tools já vem instalados no debian stable 5.08 ? eu precisarei instalar primeiro o dash e o cramfsprogs? sou iniciante :) obrigado

[11] Comentário enviado por marcelovegano em 12/02/2011 - 14:51h

Caro amigo,

Eu sempre tive que instalar esses pacotes pelo apt-get , qualquer dúvida de compilação pode enviar um e-mail para eusouironico@gmail.com

Att.,

Marcelo Gonçalves

[12] Comentário enviado por marcelovegano em 12/02/2011 - 14:53h

ERRATA

ln -sf /usr/src/linux-2.6.24 /usr/src/linux


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts