Tabela de conteúdos

Este e um artigo para a Mandriva Linux 2009.0. Para saber as regras e como participar na edição veja Bem-vindos novatos

Como compilar um kernel no Mandriva Linux

Teoria

Tais procedimentos foram realizados no Mandriva 2009.0. O tutorial está separado em 3 partes para um melhor entendimento e futuros ajuste relativo aos 3 procedimentos que são distintos. São eles: 1. Instalando um novo kernel, 2. Reinstalando o Driver Nvidia 3. Arrumando o GRUB

Procurando como compilar o kernel 2.6.29 no Mandriva, me deparei com tutoriais em desuso, que vai te levar a crer, e é verdade, que este também um dia será inútil e desatualizado, porém hoje poderá ser capaz de fazer com que seu computador funcione perfeitamente habilitando no kernel suporte de hardware e funções distintas e com certeza esta equipe não deixará você na mão, caso precise atualizaremos o tutorial para que melhor seja feito nas outras versões, coso isso não aconteça, este ainda funciona perfeitamente na sua versão do Mandriva Linux.

Muita gente já ouviu falar em compilação do kernel e muitas vezes foge do assunto como se fosse matéria exclusiva para conhecedores do sistema.

Compilar o kernel em distribuições linux baseadas no Debian, como o Linux Mint e o Ubuntu, é uma tarefa relativamente simples, já no Mandriva muda um pouco as coisas, principalmente pela dificuldade de documentação na internet e pela comodidade que o Centro de controle (Leia-se MCC) nos trás.

Compilar um kernel pode melhorar o desempenho do computador em geral, adicionando suporte a alguns tipos de hardware que não vêm habilitados por padrão e poupando até um pouco do precioso espaço no HD, além de especificar a arquitetura do processador que você utiliza.

Para quem teve todo o hardware da máquina ativado durante a instalação do sistema, não existe uma necessidade real de recompilar o kernel. Mesmo em casos onde algum dispositivo não está funcionando, existe a opção de baixar uma versão atualizada do kernel a partir do repositório da própria distribuição, que pode ser instalada de forma semi-automática, porém de nenhuma forma será otimizada para seu computador, dizemos que todos o kernel liberado para sua distribuição Linux é GENÉRICO, ou seja, funciona no maior numero de configurações possíveis e por isso é pesado e não especifico.

Há quem goste de ter seu kernel mais enxuto, com tudo carregado no kernel diretamente (não através de módulos), o que gera um pequeno ganho de desempenho, embora muitas vezes só é perceptível quando o computador trabalha no limite, mas não deixe-se enganar pela impressão de nõ ter ganho absolutamente nada em compilar um kernel, seu computador agradece. .

Como disse, eu vim do Debian, até continuo e vou continuar utilizando esta distribuição em um dos meus computadores, pelo menos por enquanto, pois para quem quer aprender tem que errar e enfrentar problemas de configurações, só assim poderemos ajudar em outras distribuições que só aparecem erros em casos extremos, como é o Mandriva. No Debian o que não falta é documentação antiga e atual, porém no Mandriva não achei nada atual em relação a compilação de um kernel, porém hoje temos este.

O Atual método “criado” por mim,e realizado em dois computadores. O Tutorial pode ser opinado e melhorado caso alguém sinta necessidade de criticar com a intenção de melhorar os procedimentos.

Instalando um novo Kernel

Precisamos de alguns pacotes básicos, são eles o gcc e o ncurses-devel, este serve para que um dos comandos (make menuconfig) funcione corretamente, aquele é usado para compilar seu kernel e drivers específicos.

Instalando os pacotes:

# urpmi gcc
# urpmi ncurses-devel

Caso esteja utilizando a versão Free e não One, instale também o make:

# urpmi make

Você está na pasta do seu usuário e possivelmente gostaria de baixar o kernel para a pasta “Download” e manter o arquivo guardado. Vamos para ela?:

# cd Download

Baixe o novo kernel no site http://kernel.org ou pule para página de download do kernel: http://www.kernel.org/pub/linux/kernel/v2.6/

Faça o download do kernel clicando em cima do arquivo: linux-2.6.29.tar.bz2 ou de algum mais antigo ou mais novo caso caso queira, não faz diferença, depende do que você quer. Por exemplo, caso seja um computador antigo, um kernel mais atual não é muito conveniente, porém quando mais novo o kernel, mais computadores e funções ele tem, porém se não compilado corretamente, ficará pesado naquele em que eu digo ser um computador antigo, ou seja, de baixa configuração.

Outra maneira de baixar o kernel, recomendo, por isso estamos na pasta /Downloads, é pelo terminal:

# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2

Copie o novo kernel para pasta apropriada(/src) onde faremos todo o procedimento:

# cp linux-2.6.29.tar.bz2 /usr/src

Navegue até o diretório /usr/src:

# cd /usr/src

Extraia o arquivo:

# tar jxfv linux-2.6.29.tar.bz2

Agora, criaremos um link simbólico para facilitar nossa vida, caso vc não ache necessário, no passo onde navegaremos para o diretório /linux, você deverá simplesmente ir para pasta criada após ter extraído o arquivo, ou seja, /linux-2.6.29:

# ln -s /usr/src/linux-2.6.29 /usr/src/linux

Pronto. Agora entre no diretório do fonte:

# cd linux

Assegure-se da integridade do fonte:

# make distclean && make mrproper

Após verificada a integridade, vamos copiar a configuração antiga para facilitar o trabalho. Note que este passo é opcional, porém seguro. Carregar as configurações atuais é um passo opcional, mas recomendo que as utilize. Você pode pular este passo caso queira se aventurar:

# cp /boot/config-$(uname -r) .config

Aplique as novidades da nova versão no .config antigo. Repare que será feito diversos questionamentos relativo as novas funcionalidade do kernel e o que você quer ou não implementar no kernel que será compilando. Se não tiver certeza do que está fazendo, pode-se apertar ENTER até que termine, caso queira habilitar alguma função digite “Y” ou “?” para ter um descrição(em inglês) do que seria habilitado. Caso algum driver do seu computador não esteja sendo carregado pelo kernel, ou seja, o kernel antigo não tem suporte, está é a hora em que você tem a oportunidade de verificar todos as novas funcionalidade do kernel disponibilizado:

# make oldconfig

Feito o passo anterior, que realizado com atenção pode demorar um bom tempo, agora vamos a parte da compilação de verdade:

# make menuconfig

Obs.: Caso a janela do seu terminal esteja muito pequena, pode ser que receba uma mensagem de erro, claro, a solução é aumentar um pouco mais a janela do terminal e comandar novamente o menuconfig.

O configurador com os parâmetros do kernel surgirá:

Siga este link http://www.vivaolinux.com.br/artigo/Compilacao-comentada-do-kernel/ para uma compilação mais à fundo, para os computadores atuais e levando em consideração que o ganho muitas vezes só é perceptível quando o computador trabalha no limite, faça apenas alguns procedimentos básicos que eu direi logo em seguida. Desabilitar ou não funções do kernel, como carregar algum módulo específico para seu computador, fica a seu critério.

Após aberto o menuconfig:

Selecione Load an Alternate Configuration File, está no final da tela e aperte espaço e Ok para carregar o .config.

Agora, selecione General Setup, no inicio da tela, e aperte espaço. Em Local Version, coloque o nome que você quer dar para sua versão. Aqui eu coloquei -intelc2d. Não mexa em mais nada, aperte Esc 2 vezes para voltar.

Entre em Processor Type and Features, selecione Processor family e aperte ENTER. Aqui você deverá escolher o seu processador. Esta parte é uma das grandes responsáveis pelo desempenho. Meu processador é um Core 2 Duo, foi o que selecionei, no final das opções estavá lá o Core 2/. Um exemplo: Caso seu processador seja um Turion, a melhor opção seria o Opteron/etc…

Caso não conheça seu computador, tente o comando abaixo e verifique a arquitetura de sua máquina:

# cat /proc/cpuinfo

Agora, vá até Timer Frequency e selecione 1000 HZ caso seu computador seja um desktop. No meu caso, por ser um laptop, eu deixo com a função já pré definida (250Hz), ou seja, nem navego até a Timer Frequency, deixo como está. “1000 Hz é a melhor escolha para sistemas DESKTOP e para sistemas interativos que exigem respostas rápidas aos acontecimentos.”

Pronto, a maior parte já está feita. Caso queira uma compilação mais a fundo, mais otimizada siga o link já postado neste tutorial.

Aperte ESC até ele perguntar se é para salvar ou não. Responda YES.

Já configuramos o básico e vamos compilar.

# make all && make modules_install && make install

Este processo irá levar bastante tempo dependendo da sua configurações. Pronto! Reinicie seu computador com seu kernel novo, que provavelmente será a última opção do GRUB.

Obs.: Caso você esteja utilizando um placa de vídeo Nvidia, que é o meu caso, deverá desinstalar o driver para que o novo kernel inicie normalmente e a partir deste passo, reiniciar em modo de texto e instalar o driver de vídeo novamente.

Reinstalando o driver nVidia

Caso você esteja utilizando um placa de vídeo Nvidia, que é o meu caso, deverá desinstalar o driver para que o novo kernel inicie normalmente e a partir deste passo, reiniciar em modo de texto e instalar o driver de vídeo novamente:

Antes de fazer qualquer coisa, entre no site da Nvidia (http://www.nvidia.com/Download/index.aspx?lang=en-us) e faça o Download específico para seu vídeo. Coloque dentro da pasta “Downloads”, que poderá deixa-lo guardado. Está é a importância de separar /(raiz) de /home da instalação da distribuição, ter seus principais arquivos e documentos sempre guardados entre outras funções.

No MCC, em instalar e remover software, coloca por procurar todos e faça uma busca por “nvidia”, remova tudo que tenha “nvidia” como referencia .

Logo após, vá em Inicialização > Habilitar login automático > e desabilita a única caixa que tem > Executar o sistema X-Window na inicialização.

Pronto, agora quando você reiniciar, vai parar no modo não gráfico, e o X não vai estar em segundo plano. Só assim poderá instalar o driver de vídeo como dito anteriormente.

Logue-se duas vezes, uma normalmente e outra como root e logo após caminhe para pasta onde está o driver e instale:

$ usuario

$ senha

$ su

$ senha

# cd Downloads
# sh NVIDIA[Aperta Tab para auto completar]

Obs.: Caso tenha dúvida no nome do arquivo, veja tudo que tem na pasta com o comando:

# ls

Terminando de instalar o vídeo, saia do modo root e inicie o X:

# exit
$ startx

Pronto.

Arrumando o GRUB

Vamos arrumar a bagunça que ficou no GRUB entrando no MCC e em inicialização > Configurar qual o sistema será inicializado > Próximo >

Na primeira opção, clique em “Modificar”. Na próxima janela, em “Imagem”, selecione o novo kernel. Clique em “Avançado”. Em “initrd”, selecione a imagem do novo kernel. Ok, Ok e Pronto.

Delete a última entrada do GRUB referente ao novo kernel e deixe as outras opções como estão, caso precise entrar no kernel mais antigo, que por sinal no Mandriva não pode ser deletado, o que é até recomendável: Manter dois kernels em sua máquina. Na inicialização da sua máquina, escolhe entrar em mode seguro, entrando no modo texto e nele está com o kernel antigo, proceda com os seguintes comandos:

# su
# startx

Será iniciado uma seção gráfica como root que vc poderá fazer ou desfazer as modificações anteriores.

Para sair ou reiniciar, clique no painel em Sistema > Encerrar Seção, no modo em texto execute o comando:

# exit
# exit

Fim!

Conclusão e comentários finais

Caso o seu driver de vídeo seja nvidia ou qualquer outro que precisou ser instalado após compilar o kernel, não adianta utilizar esse ultimo procedimento para entrar no kernel antigo, não vai funcionar, somente desinstalando o driver de vídeo e instalando novamente no kernel antigo, logo, está ultima dica de deixar o modo seguro “linkado” com kernel antigo só vale para alguns, caso seu caso seja diferente, link o modo seguro também para o kernel novo, qual foi o caso de um dos meus computadores que utiliza driver nvidia. Fiquem a vontade para escrever sobre erros na digitação e simplificar os passos. A simplicidade é o ponto forte de qualquer sistema. Usabilidade é o ponto forte.

TUTORIAL TESTADO E APROVADO NO MANDRIVA 2009.1 SPRING FREE, TENDO SOMENTE QUE ACRESCENTAR UM COMANDO EM TODO O PROCESSO:

# urpmi make

Imagino que por ser free e não one como feito na versão 2009.0, não tinha o make instalado.

Paz.

PV7(P.Victor) 31/03/2009/ 11:27


Discussão

Esta seção esta aberta para discutir sobre o artigo. Abaixo voce pode deixar a sua opinião, critica, sugestão etc.





Voltar para página principal/índices

Voltar para a página principal, ao índice Geral da wiki de Documentação Mandriva-Brasil