Muitas pessoas se perguntam: ainda é necessário recompilar o kernel? Com isso eu terei um desempenho melhor do meu micro?! Neste artigo vocês conferem as lendas e as verdades sobre a recompilação do kernel.
Nas primeiras versões do Kernel do Linux, o sistema era inteiramente
monolítico. Você realmente tinha que recompilar o Kernel ao ativar ou
desativar qualquer coisa. Você não podia simplesmente compilar o Kernel
ativando tudo, pois ele ficaria muito grande e lento, então a solução
era passar algumas horas pesquisando sobre os recursos disponíveis e
então compilar um Kernel ativando só o necessário para a sua máquina.
Isso é muito antigo, na primeira metade da última década do milênio
passado. Naquela época o Slackware era considerado a distribuição mais
amigável e o Linux só era usado por Geeks (muitas vezes nem por eles :)
Depois dessa rápida idade das trevas o Kernel passou a ser semi-monolítico.
Ele continua formando um único bloco de código, mas agora existem "ganchos"
que permitem carregar e descarregar pedaços conforme necessário. Estes
pedaços são chamados de módulos.
[1] Comentário enviado por fabio em 23/07/2003 - 03:40h
Muito bom esse artigo! Por coincidência eu e o Cesar Cardoso estávamos conversando sobre esse assunto e no mesmo dia ele me aparece publicado aqui no Viva o Linux :)
Esse final de semana mesmo compilei os módulos do driver da nVidia sem recompilar o kernel no Debian.
[2] Comentário enviado por arknoid em 23/07/2003 - 13:15h
Ãcho que se o cara não sabe o que está fazendo nem deve pensar em se aventurar pelo kernel...
Além de ser bem complicado de compilar, você terá inúmeras chances de que seu kernel novo não irá funcionar e, se for principiante pode perder seu kernel antigo e ai meu amigo não é bom nem pensar!!!
[4] Comentário enviado por jllucca em 24/07/2003 - 17:09h
me corrijam se estiver errado. Digojp, kernel-source são os arquivos com o codigo fonte do
kernel e kernel-headers seriam as bibliotecas que tu precisa para compilar os fontes.
[5] Comentário enviado por cesarcardoso em 25/07/2003 - 20:33h
Dando um apanhado geral:
o Morimoto anda se achando desde que o Kurumin fez sucesso e anda meio troll, mas o artigo levanta uma discussão realmente interessante.
Se você utiliza uma distro que patcheia fortemente o kernel (Mandrake) ou então o RedHat 9 e seu patch NPTL (fantástico! esperem e verão no kernel 2.6, especialmente o povo de DB e Java), realmente é melhor não arriscar muito, claro, partindo do princípio que você não vai ter necessidades especiais (ex. rodar Oracle). Fora isso...
jlucca: kernel-source é o fonte do kernel e o erroneamente chamado kernel-headers (que a RedHat renomeou como glibc-kernheaders) serve para compilar os programas do userland.
[6] Comentário enviado por zethayon em 16/09/2003 - 23:54h
Acredito eu que quanto mais atualizado seu kernel melhor disposicao tera seu OS, sendo assim se vc tem novos patchs, drivers e ateh mesmo modificacoes rotineiras que exigem veracidade e lealdade do OS em questao vc num acha que vala a pena recompliar sempre que possivel... pense nisso!
[9] Comentário enviado por linuxlive em 18/02/2004 - 09:12h
Quando recompilar o Kernel 2.6 tem que tomar cuidado, pois adependendo da maquina no final ele dá um erro, que nem aparece direito, mas ele não deixa o linux gravar em NTFS, mas sim, apenas ler.
[12] Comentário enviado por mfscher em 11/08/2004 - 09:28h
Eu penso o seguinte: Quem está afim de recompilar o kernel, recompila hora... Se aprende muitas coisas com isso. E nada melhor do que conhecer melhor o bichinho q a gnt mexe todos dias. E também cada um faz o que bem intende com seu pc, sendo que na pior das hipóteses o cara vai ter que reinstalar o linux (com o tempo se aprende umas táticas para evitar isso ;-) ) Soh não façam o primeiro teste no servidor da firma... hehehe
Mas tai minha opinião. Pra começar, se guiem pelos tuturiais existentes na net e comecem recompilando o kernel existente... e mãos a obra!!! o meu ficou legauzinho... ;-)
[13] Comentário enviado por dfpereira em 16/08/2004 - 13:10h
Concordo com o mfscher, acho que quanto mais se mexer com Linux, (entre acertos e erros) mais podemos aprender sobre este poderoso e verdadeiro Sistema Operacional!!
[14] Comentário enviado por removido em 01/09/2004 - 11:24h
Bom artigo! Gostei da frase "na primeira metade da última década do milênio passado" hehehe! Na minha vida linux, precisei recompilar o kernel poucas vezes... esse negócio de módulos funciona muito bem!
[15] Comentário enviado por sirdata em 18/12/2004 - 09:54h
Cara esse artigo viajou na maionese, sera que esse cara sabe o que e um sistema.
Voce pode ater te o linux normal sem a compilação do kernel ou com a compilação original mas quem garante que a quela compilação que voce tem e a mesma do vonte que vem com a distro, e outra quando voce tem o kernel não compilado ou precompilado voce tem um monte de gancho nao são so granchos são como verificação de modulos e isto custa tempo para o processador, tempo esse que atrapalha toma tempo de timeslice do processador para verificar se o modulo esta ativado ou não assim mesmo tem muitos perifericos no kernel que não vem compilados para modulos e tem muitas coisas ativadas que não são necessarias.
Cara eu sempre compilei os meus kernels e eles sempre ficão mais rapidos, as vezes que trabalhei com modulos a maioria das vezes deu problema em modulos carregados ou demora para carregalos sem contar que sobrecarrega a memoria com os modulos o que se estiver compilado junto ao kernel ocupa muito menos e o endereçamento e real e não por referencia como no modo de modulos.
Sempre obitive performace superior quando compilo o kernel.
O pessoal que não o sabe fazer não o faça ou pelo menos procura como fazer sem destruir o seu original.
Eu costumo fazer o seguinte nos computadores dos clientes que eu monto instalo o linux e configuro o kernel de acordo com o que tem na maquina e coloco modulos apenas em coisas que ele possa utilizar tipo drives de USB e impressoras mas os de placa mae e video eu costumo ativar pelo kernel mesmo assim fica sem tantos ifs.
So para comparar o Mandrake 10,9 e Conectiva 10,9 funciona com o kernel não compilado em uma maquina pentium3 550 com tudo on-borde parecendo uma carrosa parece que voce ta mexendo com um windows 98 em um 486 dx 66, ja o mesmo sistema com o kernel compilado com apenas o que tem na maquina roda perfeito como se voce tivese com um windows 98 em um pentium 3 450, eu so baixei essa velocidade porque estas duas distribuições são um lixo costumo utilizar slackware ou quando to com tempo monto eu mesmo a minha distro.
[16] Comentário enviado por pogo em 21/12/2004 - 12:58h
também sempre compilei os meus próprios kernels... e sempre achei que eles ficavam mais rápidos que o "padrão" da distro.... na minha opinião, recompilar o kernel ainda é necessário sim...
[17] Comentário enviado por jvictorfc em 25/12/2004 - 18:33h
Não querendo desmerecer os meritos do colega, porem eu achei esse artigo mto bom COMO um antidoto de amedrontamento para quem estar começando no linux, e se assustou "como eu" ao escutar falar em recompilar kernel.. heiuehiuhe que coisa lokaaaa! porem com certeza é bastante necessário.. como eu ativo por ex meu hd SATA em um kernel da serie 2.4? nao tem como.. Inevitável a recompilação do kernel! e sim.. é notavel o aumento de performace.. agora uma coisa é verdade.. muita coisa como softmodems, nao necessitam mais obrigatoriamente disto.. porem uma penca de melhorias é são notadas com a recompilação do kernel!
[18] Comentário enviado por mapelli0 em 25/02/2005 - 23:08h
eu tb prefiro recompilar o Kernel, primeiro por que se aprende muito fazendo isso, segundo que eu tb concordo com a velocidade, como disseram antes, o enderecamento real é bem mais rapido que o gancho dos módulos e outra coisa o erro na recompilacao que disseram é por que não foi ativado a gravacao no sistema NTFS, e particularmente prefiro assim, se vc verificar na descricao do modulo verá que não é "aconselhado" a gravacao, por isso fica destivado
[19] Comentário enviado por marcosbj em 27/01/2006 - 16:16h
haha, a discussão acabou no "compilar ou não compilar, eis a questão".
Besteira discutir isso ou falar que fulano não sabe isso ou fulano é aquilo...
o artigo é muito bom para quem optou por não compilar ou recompilar o kernel. Já aqueles que querem fazer isso (eu, por exemplo) devem aprender como fazer e depois meter a cara. Se não funcionar, faz de novo, até dar certo. Quem quer compilar, queo faça. Quem quer trabalhar com módulos, que bom! Liberdade de escolha, não é esse o centro de nossa filosofia GNU/Linux?
[20] Comentário enviado por ranzes em 23/06/2006 - 15:45h
O fato de se fazer ou não a compilação vai além de uso particular do sistema, pois existe X váriaveis que determinam se é ou não necessário a compilação do Kernel.
Para ter uma ideia:
em um sistema de Firewall não é recomendável criar um Kernel com suporte a Modulos , pois existem RootKits e Backdoors baseados em modulos aí o interessante nestes casos é fazer um Kernel Monolitico (sem suporte à Modulo.) em outros casos é importante o uso de modulos , pois alguns tipos de sistemas de Redundância precisam que modulos sejam carregados ou descarregados pelo sistema.
Em outros casos Precisamos compilar por necessidade de inserir uma nova Patch ou um novo serviço diretamente no kernel, enfim a necessidade ou não depende de como e onde será implementado o sistema e como será usado.
Para os novatos , obviamente não é interessante (ainda) se aventura no nucleo do sistema podendo realmente torna-lo instavel ou mesmo inoperante.
bem pessoalmente faço eu mesmo faço meu kernel da minha forma cabe a cada um de nós escolher-mos a melhor forma e viabilidade de
utilização sem comprometer o sistema.
cabe a cada um escolher o que lhe convém.
[21] Comentário enviado por jalexandre em 09/08/2006 - 15:26h
Recompilar o Kernel? Isso ainda existe??
Resposta: Existe, e sempre vai existir. Sabe o motivo?
Qualidade, velocidade, customização, necessidade!
Tem casos simples, como o kernel pré-emptivo para estações multimídia (kernel de baixa latência), até casos especificos, como instalações de softwares comerciais, tunning de banco de dados e servidores.
O cara que quer trabalhar profissionalmente com linux e não conhece os meandros da compilação de kernel, e nem procura conhecer, será um profissional de qualidade questionável.
Para quem acha que vale a pena conhecer um pouco mais do assunto, segue um artigo bacana do nosso amigo cvs: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=731
[22] Comentário enviado por d1060 em 02/11/2006 - 17:07h
eu que sou usuario dekstop realmente num preciso de ficar recompilando meu kernel. vou fazer isso so por curiosidade. sem recompilar eu configurei quase tdo e ate agora num tive nenhum problema q exigisse a recompilaçao.
muito bem escrito o artigo, gostei, mas reitero talvez faça a compilaçao so pra nao dizer q nunk fiz. =P
[24] Comentário enviado por ellinux em 22/01/2007 - 13:09h
Minha opinião é a mesma do TOOR !!!!!
quem não ta nem ai pro sistema, td bem, é melhor usar o mais fácil...
agora quem quer uma máquina realmente cutomizável e de boa performance, tem q futucar...aprender !!!!!!
[25] Comentário enviado por duda_syn em 01/02/2007 - 17:56h
Po pra quem tem dessas "mega máquinas" de varios gigas de memoria e hd gigantesco, até vale deixar o kernel cheio de porcarias q vc não usa.. mas pra quem tem um humilde k6 com 128 de ram hd de 10 g ajuda muito sim, eu qd recompilo meu kernel meu linux fica mais estável e rápido, já tomei vários "kernel panic" na vida, mas aprendi muitoooo msm.. compilar é a boa.. rs
[26] Comentário enviado por Sryche em 10/03/2007 - 05:10h
Bom, eu realmente ainda não sei compilar Kernel, mas valendo-me da minha "experiência" em C++, percebo que realmente compilar qualquer coisa aumenta o desempenho dela.
Porque? Sempre que você compila algo, o compilador gera instruções próprias para sua máquina, e isso é bom, já que aumenta a velocidade que o programa utiliza as instruções.
De qualquer maneira, quem tem mais de 512 de memória e deseja aprender, eu recomendo utilizar o VMware, utilizando o Kurumin(no site eles disponibilizam uma Vmachine já criada, aí é só rodar o player), ou alguma outra distro, caso você deseje.
A vantagem? Se der algum problema você tem tudo salvo =]
[28] Comentário enviado por mfs em 17/07/2010 - 14:01h
Se começarmos a nos afastar das coisas que garantem a nossa autonomia sobre o Linux, como recompilar o kernel e compilar pacotes no braço ao invés de pacotes auto-instalaveis como os .deb, vamos acabar nos tornando que nem o Windows, onde tudo é feito automaticamente, sem que a gente nem saiba o que tá acontecendo.