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.
[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
bakunin 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