Compilação e instalação do kernel 2.6.xx no Slackware

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.

[ Hits: 40.274 ]

Por: Perfil removido em 17/03/2005


Configuração do kernel



O processo de configuração do kernel é a parte mais importante antes da compilação. É nessa etapa que os dispositivos de hardware que o usuário tem serão adicionados ao kernel.

Eu recomendo definir as opções para cada dispositivo que o usuário tenha, de forma que fiquem embutidos no kernel (built-in).

É agora que o usuário precisa saber o que tem na máquina para poder saber o que ativar como "embutido" , como cada máquina é diferente uma da outra e a diversidade de hardware é imensa, é impossível fazer uma receita que sirva para todos, por isso coloquei abaixo a "minha receita", onde mostro o nome da opção de configuração de cada ítem que alterei com suas respectivas sub-opções mais importantes.

Mais um detalhe importante: essa "receita" é válida para a minha máquina , deve ser vista como um exemplo de coisas que devem ser configuradas no kernel, não pode ser aplicada a outras máquinas.

Cabe ao usuário verificar o que tem de hardware e configurar seus ítens nas opções do kernel.

Eventualmente será necessário "ver" todas as opções até achar a que é adequada para o seu hardware.

Configuração do kernel


Loadable module suporte

Ativar como embutido em:

Enable loadable module support
Module unloading
Automatic Kernel module loading

Processor type and features
   Processor family
      Pentium-4/Celeron/(P4-based)/Pentium-4 M/xeon (marcar o seu processador)

Se tiver mais de 1GB de memória:

High Memory Support (marcar 4GB)

Device Drivers

    Networking support
        Networking options
            Network packet filtering (marcar como embutido)
                IP: Netfilter Configuration
                    IP tables support (marcar como embutido)
        Ethernet (10 or 100Mbit)
            3COM cards (marcar como embutido)
                3c590/3c900 series (592/595/597) (marcar como embutido)

    Input device support
        Joystick interface (marcar como embutido)
        Gameport support (marcar como embutido)

    Character devices
        Intel i865 chipset support (marcar como embutido)

    I2C support
        I2C support (marcar como embutido)

    Multimedia devices
        Video For Linux (marcar como embutido)
            Video For Linux
                BT848 Video For Linux (marcar como embutido)

    Graphics support
        Support for frame buffer devices
            Support for frame buffer devices (marcar como embutido)
            VGA 16-color graphics support (marcar como embutido)
            VESA VGA graphics support (marcar como embutido)
            Console display driver support
                Video mode selection support (marcar como embutido)
                Framebuffer Console support (marcar como embutido)
                Select compiled-in fonts
                    VGA 8x8 font (marcar como embutido)
                    VGA 8x16 font (marcar como embutido)
            Logo configuration
                Bootup logo
                marcar todos os ítens como embutidos

    Sound
        Sound card support (marcar como embutido)
            Advanced Linux Sound Architecture (marcar como embutido)
            Pci devices
                Emu10k1 (SB Live!) (marcar como embutido)

File systems
    Reiserfs support (marcar como embutido)

exit
    salvar configuração do kernel (yes)

OBS: Se você tem uma placa de vídeo nVidia, não ative o suporte a nVidia Riva support. Se ativar, o driver oficial da nVidia não instala.

Página anterior     Próxima página

Páginas do artigo
   1. O que é necessário
   2. Preparação do kernel
   3. Configuração do kernel
   4. Compilação do kernel
   5. Configuração do lilo
Outros artigos deste autor

USB-ZIP - Emulando Zip Drive em Pendrive

Instalando o Linux Ubuntu 8.04 Hardy Heron

expr - Definição e uso do comando

Bluetooth descomplicado em notebook Toshiba / HP

1º Fórum da Internet no Brasil

Leitura recomendada

Compilando Kernel 2.6.34 usando Debian Lenny

Alterando as permissões de um arquivo

Fazendo seu Linux hibernar

Atualizando o Slackware 9.1 para o kernel 2.6.5

Compilando o KERNEL sem medo do "kernel panic"

  
Comentários
[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.

[3] Comentário enviado por ygorth em 18/03/2005 - 11:45h

Legal o artigo e muito legal o comentario do acvsilva, vou suar hoje pra compilar.

[4] Comentário enviado por removido em 18/03/2005 - 11:53h

e o diretório /usr/src/ linux-XXX-ZZZ é possivel apaga-lo após termos criado o arquivo de imagem e compilados todos o módulos?

[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

Minha placa:

<M> VIA 82C686A/B, 8233/8235 AC97 Controller


Sabe o que pode estar errado?






[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:

http://uwsg.iu.edu/hypermail/linux/kernel/0007.3/0587.html
ou leia o próprio README que acompanha o kernel src (2.6.x)

E outra questão, o System.map do kernel foi parar aonde?

[7] Comentário enviado por flavioc em 20/03/2005 - 20:22h

Eu compilei o kernel no 2.6.10 no meu Mandrake 10.1 community. Ta tudo funcionando e em cima.

[8] Comentário enviado por leucas em 20/03/2005 - 22:42h

discordo tbm em muitos aspectos do seu artigo...

a exemplo do link simbolico em /usr/src... ele nao precisa ser mais utilizado na serie 2.6

[9] Comentário enviado por infoman23 em 21/03/2005 - 03:14h

Não é que não precisa usar o /usr/src. Não se DEVE utilizar o /usr/src. Leia o link que mencionei acima!

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

:0)

[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)

[14] Comentário enviado por vandeco em 01/06/2007 - 21:53h

po entao galera voçes poderiam me maandar alguma coisa no meu e-mail por que to sem tempo

[15] Comentário enviado por xkillerrx em 12/11/2010 - 10:02h

Ola, o seu site www.planetacybertron.cjb.net esta fora do ar ?

[16] Comentário enviado por removido em 12/11/2010 - 10:11h

exato , minha página não existe mais


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts