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.575 ]

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

Tornando o kernel do OpenBSD enxuto

Kernel 2.6.9 em 20 passos

Slackware 10.2 com dois kernels na mesma instalação

Guerra Infinita, uma análise da Ciência da Computação

Instalando Slackware 10.2 em HDs SATA

  
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