Como configurar e compilar o kernel 2.6.xx sem "traumas". O autor do artigo defende a compilação dos módulos na forma built-in, porém para esse tipo de compilação cada caso é um caso. Aqui veremos como descobrir o hardware que temos na máquina e como escolher os módulos adequados na configuração do kernel.
[1] Comentário enviado por removido em 18/03/2005 - 04:20h
Eu utilizo um processo meio "inverso". Até o lspci/lsusb vai tudo certo mas eu sempre tinha problemas quando tinha de escolher os ítens a serem compilados e alguma coisa ficava de fora e eu dançava.
Agora sigo uma dica nota 10 do Morimoto que é carregar o arquivo de configuração do kernel original existente em /boot e geralmente tem o nome config.não_sei_o_que_lá ou não_sei_o_que_lá.config e partir deste arquivo ir retirando o que não desejo.
Aprendi muita coisa sobre o kernel retirando partes dele que não conhecia e depois vendo no que dava.
A melhor distro até hoje que encontrei para recompilar o kernel foi o fedora e o próprio slackware, sendo que neste último o nome dos dispositivos mudam. Por exemplo: /dev/cdrom deve ser lincado para /dev/sr0 mesmo que tenha um leitor de cd simples ou dvd como meu caso.
==========================
É interessante também que o cidadão salve um arquivo de configuração das mudanças que está fazendo. No make xconfig basta ir em "salvar como" e fazê-lo num local qualquer com o nome que desejar. Caso queira ir avançando na compilação, basta carregar o arquivo onde parou, retirar mais alguma coisa, salvar outro arquivo - de preferência como nome diferente - e recompilar o kernel. Consegue-se assim um ótimo resultado na dieta do kernel.
Outra importante mudança, mais do que retirar módulos ou embutí-los no kernel, é fazer a otimização do mesmo para a arquitetura de seu processador.
Mas ao se fazer esta escolha há uma explicação bem clara lá no kernel de que esta mudança será efetiva na compilação de novos programas. Como já instalamos pacotes pré-compilados para arquitetura i386, NÃO SEI se esta mudança realmente fará alguma diferença com os já instalados. Quem tiver alguma experiência nesta parte poderia dizer aqui...
======================
É bom deixar sempre um módulo extra compilado para algum recurso alternativo por exemplo: os módulos da placa realtek (caso tenha alguma de reserva em casa) se a sua der problemas; o driver de uma placa de som de reserva também (na minha casa, tenho uma realtek e um som c-media para qqr eventualidade).
Para vcs terem uma idéia, quando instalei uma placa usb via slot pci não consegui carregar o módulo ohci. Depois de muita cabeçada percebi que tinha desabilitado o mesmo na compilação pois só usava os uhci (chipset VIA) e o ehci (usb 2.0). Resultado? Tive de recompilar tudo de novo...
Tem certas coisas que realmente NÃO se deve abrir mão mesmo que não se tenha instalado...
O problema da otimização do kernel é justamente a perda do horizonte amplo para hardware que se tem...
======================
É isso aí, o artigo tá muito claro e fornecendo mais informações a cada dia que passa...
[2] Comentário enviado por pflynn em 18/03/2005 - 11:45h
Um comentário simples, relativo a opção High Memory Suport: essa opção deve ser ativada também por quem possui 1 GB de memória, e não apenas para quem tiver mais de 1 GB de memória, caso contrário, o kernel não vai reconhecer todo o 1 GB.
[5] Comentário enviado por hdoria em 18/03/2005 - 13:37h
# lspci | grep audio
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
Se eu coloco como built-in .. o alsaconf não detecta minha placa.
Qdo coloco como modulo, o alsaconf detecta minha placa normalmente, porém qdou dou o alsamixer eu tenhgo esse erro:
$ alsamixer
alsamixer: function snd_ctl_open failed for default: No such file or directory
Não consigo usar outro mixer também.
E ta assim no kernel:
<*> Sound card support
ADVANCED LINUX SOUND ARCHITETURE:
<*> Advanced Linux Sound Architecture
<*> Sequencer support
< > Sequencer dummy client
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS Sequencer API
[ ] Verbose printk
[ ] Debug
[6] Comentário enviado por infoman23 em 19/03/2005 - 10:07h
Discordo com alguns pontos cruciais do artigo. Olhem o link abaixo e vejam o que o próprio Linus diz sobre essa questão de utilizar o diretório /usr/src:
[10] Comentário enviado por removido em 21/03/2005 - 07:11h
já ví trocentos artigos sobre compilação de kernel ...
cada um diz uma coisa diferente ...
no próprio readme do kernel 2.6.10 os procedimentos são diferentes
do que o a "maioria" faz ....
bem ... não sou especialista em compilação do kernel ...
o que eu digo no texto é o que eu fiz no meu slack e funcionou ....
está certo ???... está errado ???.... os "especialistas" que o digam ....
o que sei é o seguinte : o que eu digo no texto funcionou comigo ... portanto :
os que seguirem o texto e tiverem sucesso : excelente ... se não tiverem sucesso : aqui no vol tem muitos outros textos ... leiam os outros ....
[11] Comentário enviado por infoman23 em 21/03/2005 - 11:38h
Pois seu procedimento está, em parte, incorreto!
Não substituindo o System.map pelo do novo kernel, alguns softwares podem apresentar problemas, como o dosemu.
A questão do /usr/src, você leu o link que mencionei no comentário acima? O "especialista" (Linus) disse que está incorreto...
[12] Comentário enviado por agk em 21/03/2005 - 20:09h
Parabéns Megatron seu artigo está excelente, partindo do princípio de colocar só hardaware que você possui que eu consegui fazer um kernel da série 2.6.x funcionar 100% com a minha placa A7N8X-X chitpset Nfornce2, placa de video radeon 9200se 128mb, placa de tv bttv series.
Agora estou plenamente satisfeito com meu linux e ainda por cima aumentou muito a performance do sistema, que, antes era muito inferior ao windows por causa das "configurações genéricas" que vem na maioria dos kerneis (não sei se é assim que escreve) das distribuições linux.
[ ]'s a todos.
[13] Comentário enviado por removido em 21/03/2005 - 20:51h
novamente devo dizer : o que eu digo no texto é o que eu fiz na minha máquina ..
e funcionou perfeitamente pra mim ....
se o procedimento que eu fiz e que deu certo pra mim está "errado" , então deixa eu ser "errado" que estou muito feliz ....
entendam , o texto é relativo a algo que eu fiz em minha máquina e funcionou pra mim .... outras receitas de compilação de kernel , que os "especialistas" diriam ser "corretas" , não funcionaram comigo ...
portanto : tirem suas próprias conclusões e façam o que acharem "correto" ....
:0)