Artigos e Dicas sobre compilação de Kernel são normalmente postados utilizando-se distros como Debian ou seus derivados. Minha motivação principal para este artigo é mostrar como fazer uma compilação de Kernel no sistema GNU/Linux CentOS 6.0, bastante usado em servidores Linux.
Instalando dependências e obtendo o source do Kernel
A compilação do Kernel é feita por vários motivos, entre eles:
Suporte a um maior número de Hardwares possíveis;
Manter somente funcionalidades que são necessárias para funcionamento do sistema;
Deixar seu Kernel mais rápido e enxuto;
Prover mais funcionalidades para segurança do sistema.
Em qualquer distribuição GNU/Linux, a única coisa que pode diferir na compilação do Kernel são as dependências, como: pacotes necessários,
bibliotecas usadas, compiladores, etc.
Instalação das dependências
Nesta parte, para compilação do Kernel, vou tratar de descrever a instalação dos pacotes necessários para compilação do Kernel e sua instalação.
Usando o usuário root, instale os pacotes usando o gerenciador de pacotes yum:
# yum install gcc bison ncurses-devel make gcc-c++
Obtendo o Kernel a ser compilado
O Kernel usado para este artigo foi a versão 3.4, mas pode utilizar o mesmo método em outras versões do Kernel.
Digite no terminal o comando abaixo para baixar o source do Kernel 3.4:
[1] Comentário enviado por levi linux em 12/01/2012 - 09:49h
Parabéns, muito bom o seu artigo, bastante didático. Realmente a maioria dos artigos e dicas sobre compilação de Kernel envolvem distros debian-like. Não conhecia esse comando "dracut".
Favoritado!
[3] Comentário enviado por erikogp em 18/06/2012 - 13:07h
Olá, segui o tutorial e me embananei ao editar o arquivo /boot/grub/grub.conf. Agora ao iniciar me deparo com a mensagem: "Booting CentOS (2.6.39.4el6.i686) daí quando passa dessa mensagem, vem a mensagem de erro: "Error 15: File not Found". Press any key to continue.
[4] Comentário enviado por removido em 18/06/2012 - 16:42h
na hora do boot de "ENTER" e escolha o kernel antigo. e corrija.
pela mensagem provavelmente um dos arquivos (kernel ou initrd) não foram indicados corretamente no arquivo de configuração, ai você precisa indicar a localização correta do arquivo assim como o nome do mesmo. isso é se você copiou o arquivo do kernel, initrd.img e os outros arquivo para /boot.
[5] Comentário enviado por erikogp em 18/06/2012 - 22:28h
Acho que foi isso mesmo, na hora de configurar o grub. Nunca tinha feito isso, daí fui seguindo o tutorial, mas no tutorial não tinha explicação sobre a edição do grub.conf, daí me embananei. Eu salvei uma cópia do grub.conf antes de modifica-lo, agora vou ver se consigo chegar até ele usando um outro cd de boot. Eu dou ENTER no boot e tem 2 opções mas nenhuma delas vai adiante, só retorna a mesma mensagem de erro.
[4] Comentário enviado por eabreu em 18/06/2012 - 16:42h:
na hora do boot de "ENTER" e escolha o kernel antigo. e corrija.
pela mensagem provavelmente um dos arquivos (kernel ou initrd) não foram indicados corretamente no arquivo de configuração, ai você precisa indicar a localização correta do arquivo assim como o nome do mesmo. isso é se você copiou o arquivo do kernel, initrd.img e os outros arquivo para /boot.
[6] Comentário enviado por removido em 18/06/2012 - 22:58h
amigo erikogp,
após executar esse passo do artigo:
# make modules_install
execute o comando abaixo:
# make install
e depois reinicie a máquina, na hora do boot de "ENTER" quando estiver fazendo a contagem para carregar o kernel, então veja se o novo kernel está aparecendo, caso não esteja vai ter que editar o arquivo de configuração do grub mesmo.
[7] Comentário enviado por erikogp em 21/06/2012 - 13:03h
Isso mesmo amigo. Fiz igual dito acima, tive que editar o arquivo de configuração do grub. Na verdade só voltei o antigo, e está funcionando, só que com o kernel antigo. Vou ter que estudar mais sobre o grub, pois o problema é na edição dele. Amigo, seria demais pedir para vc enviar as linhas de configuração do grub para funcionar de acordo com o tutorial acima? Segui a risca tudo no tutorial, só ficou faltando a configuração do grub, pois não é mostrado aí como se faz. Se tiver como vc enviar eu agradeço.
[8] Comentário enviado por removido em 21/06/2012 - 13:40h
No artigo não foi abordado a configuração do grub, pois para fazer a mesma seria necessário saber o dispositivo no qual está armazenado a imagem do kernel, qual é o dispositivo onde está armazenado o sistema. você leu e seguiu a dica do ultimo post postado por mim acima ?
[11] Comentário enviado por wagneralves em 06/03/2013 - 14:11h
Olá Pessoal,
Muito interessante o artigo bem diferente de outros bem complicados, aproveitei o artigpo acima e criei um script simples para quem quiser automatizar o processo fiz rapidão aki no trabalho mas dependendo da galera posso melhorar segue para quem quiser