Compilação comentada do kernel

Este artigo traz uma abordagem bem detalhada sobre a compilação do kernel do Linux. Um enfoque maior foi dado à etapa de escolha dos módulos do kernel, onde a maioria dos itens foi detalhada.

[ Hits: 178.725 ]

Por: José Lopes de Oliveira Jr. em 27/10/2005 | Blog: http://hakspek.blogspot.com


Introdução

A compilação do kernel é um passo um tanto quanto complexo e sério, que exige um bom conhecimento do hardware onde o kernel será construído. Esta compilação traz uma série de benefícios, pois o kernel que acompanha as distribuições é compilado para hardwares gerais e possivelmente trarão suporte a dispositivos que você não possui.

Este artigo traz uma detalhada descrição sobre o processo de compilação do kernel, mas não tem a intenção de ser um guia definitivo sobre o assunto. E deve ser utilizado em conjunto com outras documentações e, acima de tudo, com a ajuda que acompanha o próprio kernel e os documentos que ele indica.

O autor deste documento não se responsabiliza pelo uso que será dado a este. Considere isto como uma PEQUENA ajuda e suporte à ajuda do kernel. Não me responsabilizarei sobre quaisquer danos que uma má configuração por ventura venha a lhe causar.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Pré-configuração
   3. Code maturity level options
   4. General setup
   5. Loadable module support
   6. Processor type and features
   7. Power management options (ACPI, APM)
   8. Bus options (PCI, PCMCIA, EISA, MCA, ISA)
   9. Executable file formats
   10. Device drivers
   11. File systems
   12. Compilando
   13. Conclusão
Outros artigos deste autor

Instalação e configuração do J2SE

Permissões no Linux

Configurando o Fortune

Esquemas de particionamento e sistemas de arquivos

Configuração manual dos ponteiros do mouse

Leitura recomendada

Compilando kernel com suporte a POM (path-omatic) e Layer7 no Debian e Slackware

Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux

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

IPCMSG: Comunicação inter-processos sem magia negra

Comentários
[1] Comentário enviado por fernoliv em 27/10/2005 - 03:25h

Caro José, obrigado pelo excelente artigo e por sua dedicação em nos passar de forma minunciosa um tema que deixa muitos usuários com receio de alterar em suas distros padrão. É sempre bom utilizar um kernel mais novo pois há suporte a hardwares mais novos, além da correção de bugs encontrados em versões anteriores. É isso aí, agradeço pelo empenho, seu artigo está de parabéns!

Abraço, Fernando.

[2] Comentário enviado por Herr_Filip em 27/10/2005 - 08:42h

Ótimo trabalho! Parabéns!
Vai me ajudar muito teu texto!!

[3] Comentário enviado por astdarkness em 27/10/2005 - 13:16h

Eu estava procurando um guia com essa qualidade!
Obrigado e continue explorando ao máximo o kernel e escreva mais :-)

[4] Comentário enviado por ric.araujo em 27/10/2005 - 15:34h

Gostei muito do artigo, inclusive adicionei aos meus favoritos.
[]'s

[5] Comentário enviado por fenix_ap em 27/10/2005 - 17:38h

Rapaz vc esta de parabens!!!!!!!!!
Tenho certeza q esse artigo vai ajudar muita gente, incluse eu :)


[6] Comentário enviado por a.fernando em 28/10/2005 - 11:02h

Parabens pelo artigo

Conciso e completo.

Já compilei o kernel da minha distro algumas vezes, mas muitas coisas eram feitas as cegas, principalmente com relação a parte de módulos, mas com esse artigo posso afirmar que uma luz foi lançada sobre o assunto.

Valeu!

[7] Comentário enviado por PCMasterPB em 29/10/2005 - 15:50h

Um artigo bem completo e será muito útil aos que estão querendo entender algumas opções de configuração do kernel. Apenas queria lhe atentar para duas opções em especial:

Symmetric multi-processing support => Caso alguém use Pentium IV com HT (Hyper-Threading) e este estiver ativado é bom marcar isso com Y. Foi o meu caso.

High Memory Support (4GB) => aqui vc falou pra se marcar Y, porém não disse aonde, aqui tem três opções (off, 4G e 64G) e resumindo em miúdos, se vc tiver menos de 1G coloque off, entre 1G e 4G coloque 4G e se vc tiver mais de 4G (nossa!!!) coloque 64G.

PCMasterPB

[8] Comentário enviado por U-Neeks em 16/02/2006 - 20:38h

exelente artigo, parabens

[9] Comentário enviado por jbalestrim em 02/05/2007 - 19:49h

Parabens por esse excelente explicação se possivel se voce pudesse colocar mais detalhes ainda pra que ele fique ainda mais completo ainda e se torne um excelente referencia acima de todos ficariamos muito grato, isso nao significa que ja nao seja bom o suficiente, sao profissionais como voce que falta em nossa area pessoas que realmente tem o conhecimento e ajudam o melhor que pode nessa area so existe gratificações quando encontramos pessoas que nem voce e é um prazer em lhe dizer voce esta de parabens mas se puder complementar ainda mais deixar com mais riqueza no detalhes nossa seria mais fantastico do que é foi um prazer deixar esse elogio que isso sirva de exemplos a todos que se empenham ao maximo em ajudar os demais.

[10] Comentário enviado por forkd em 03/05/2007 - 14:16h

Primeiramente, obrigado pelos comentários à todos. Mais de 35000 hits nesse artigo eu, sinceramente, não esperava...
Ao amigo jbalestrim, adoraria continuar com este artigo, citando mais opções de compilação, atualizando-o para uma versão mais nova do Kernel ou até mesmo criando uma versão traduzida do Kernel (imagina poder ter todas as opções em português? Seria bom para muitos!). Infelizmente (ou felizmente) sou novo no meu emprego e estou concluindo minha pós-graduação (coincidências à parte, estou pra começar a estudar a disciplina KERNEL). Além disso tenho minha monografia para concluir, além de outros projetos pessoais... Por isso, estou sem tempo pra escrever artigos.
Contudo, há muitas pessoas nessa comunidade tão ou mais qualificadas do que eu para levar adiante este assunto. Fica a sugestão e o voto de incentivo.
Mais uma vez, obrigado por tudo!
Um grande abraço!

[11] Comentário enviado por kenshisk em 01/06/2007 - 01:15h

cara parabéns mesmo, esse concerteza vai para os meus favoritos, muito bem explicado, sou novo na comunidade linux e se tiver mais artigos como esse acho que vou acabar aprendendo alguma coisa. :-)
Abraços.

[12] Comentário enviado por GilsonDeElt em 30/12/2007 - 12:16h

Cara, esse artigo tá de +!!!
Há tempos procuro material assim
(é sério, tem quase um ano que tento achar algo assim, e como não achava, compilava o kernel meio às cegas mesmo)
Ainda não li tudo, pq tô arrumando uns trem aqui no meu PC
Mas pelo que já li, vi que tá tudo muito bem detalhado.
Vlww!!!

[13] Comentário enviado por dfreitas em 16/09/2008 - 15:20h

O artigo eh muito bom. Quais os módulos que tenho que habilitar para carregar a raiz no pendrive?

[14] Comentário enviado por juninho (rh.com) em 11/02/2009 - 12:37h

Parabéns, faltava mesmo algo assim na ajuda por compilar o Kernel.

[15] Comentário enviado por rômega em 11/03/2009 - 15:33h

Ótimo artigo, muito bom mesmo, parabéns =D

[16] Comentário enviado por smoldermox em 07/10/2009 - 15:04h

muito obrigado pelo artigo estava googlando estava ficando doido aki q nao achava nada sobre essas opçao ^^

[17] Comentário enviado por venito em 28/01/2010 - 14:09h

Parabéns!!! Muito bom mesmo seu artigo...

[18] Comentário enviado por thebestbr em 08/12/2010 - 14:45h

ola, sou novo na area

estou compilando mas segui um outro tutorial, que é parecido com o seu, ao compilar rodei o seguinte comando

rpmbuild -bb --without xen, smp, up, pae, kdump, debug --target=`uname -m` kernel.spec

utilizei este without pra compilar mais rapido, porem parece q ele esta tora hora repetindo a compilacao, qto tempo -+ demora uma compilacao? oq vc acha q estou fazendo d errado?

estou compilando somente para aprender e tentar colocar um driver q eu alterei, o evdev,

o site q eu segui o modo d compilacao eh este:
http://fedoraproject.org/wiki/Docs/CustomKernel#Get_the_Source

vlw

[19] Comentário enviado por removido em 30/12/2010 - 21:51h

muito mas muito bom parabens cara esta nos favoritos, valeu.

[20] Comentário enviado por dendriel em 20/08/2011 - 15:04h

Uma coisa que senti falta logo no começo (na verdade estou escrevendo o comentário enquanto avanço no tutorial) foi referências de pacotes que auxiliam na instalação do kernel. Tenho que interromper o tutorial e buscar soluções para estas faltas. ^^

Uma delas é a ncurses. #sudo apt-get install ncurses-dev (coloque assim, aqui instalou automaticamente o ncurses5-dev, acho eu). Ah, claro, acabei de formatar a máquina, então faltam umas coisas mesmo.

Deixo meus agradecimentos pelo post. Muito legal e tudo funcionou. Mesmo entendo no máximo 10% das opções que estava configurando, achei bastante interessante todo o processo. Obrigado por seu esforço!

Peace!

[21] Comentário enviado por nandow em 03/12/2011 - 13:38h

Exatamente o que eu estava procurando.

Parabéns.

Tá nos favoritos.


Contribuir com comentário