Recompilando o kernel do Linux

Publicado por Daniel Romero em 13/12/2006

[ Hits: 9.876 ]

Blog: https://infoslack.com

 


Recompilando o kernel do Linux



Um passo-a-passo bem simples e prático na hora da recompilação.

A recompilação do kernel tem de ser extremamente observada. É nela que você poderá colocar suporte a muitos hardwares, habilitar recursos do kernel (como firewall e compartilhamento NAT), entre outras coisas. Muitas distribuições incluem kernels já compilados e prontos para usar, mas é sempre recomendado que você compile o seu kernel para otimizá-lo conforme suas necessidades, e claro, para aprender também! Vou explicar aqui passo-a-passo como se dá o processo de recompilação do kernel. Lembrando que toda operação deverá ser feita com o root.

Passo 1:

# cd /usr/src
# rm -rf linux
# tar zpvfx /diretorio/linux-2.x.x.tar.gz
# ln -s linux-2.x.x linux
# cd linux


O que fizemos aqui foi somente apagar o código do kernel velho para instalar um novo. Isso você só faz se estiver compilando um kernel novo que pegou na internet. Os códigos-fonte do kernel em suas várias versões podem ser todos encontrados através do endereço:
(é preferível que você utilize o mirror deste FTP localizado aqui no Brasil, que é ftp://ftp.br.kernel.org)

Veja também que eu apaguei o kernel antigo (rm -rf linux), se você quiser pode apenas renomear o diretório para outro nome, assim não perde o código velho.

Pode acontecer de você pegar kernels compactados com .bz2, veja a seção de "Outros comandos" para obter uma ajuda mais ampla para descompactar isto. Alguns arquivos quando descompactados já criam o diretório 'linux', então não é preciso você ter de fazer o link simbólico (comando 'ln -s linux-2.x.x linux').

Passo 2:

# make menuconfig
# make dep
# make clean
# make bzImage
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.x.x


No 'make menuconfig' você vai escolher as opções de suporte. Esta parte é com você, pois você é que vai escolher o que quer. Existem muitas e muitas opções que você poderá não saber, então pode ler o help destas opções ou simplesmente deixá-las como estão. Configuração do kernel é uma coisa que você se acostuma com o tempo, praticando. :)

O 'make menuconfig' gera um menu gráfico no console, você pode substituir este comando por outros, que são: 'make config' (modo terminal, sem gráficos, vai perguntando opção por opção e não é recomendado) e 'make xconfig' (modo gráfico com janelas, só roda no X-Window).

O 'make dep' cria as dependências que a compilação do kernel vai usar. O 'make clean' apaga arquivos que já estão compilados para poder compilá-los de novo.

O 'make bzImage' vai criar uma imagem do kernel compactada com o bzip2 (que é mais eficiente que o gzip). O recomendável é você usar o bzImage, mas você também pode usar o 'make zImage', que cria uma imagem compactada com gzip ou pode usar o 'make zdisk', que faz a imagem e cria um disco de boot, ou pode usar 'make zlilo', que faz a imagem e reinstala o LILO).

O 'cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz-2.x.x' copia a imagem para o diretório /boot, com o nome de vmlinuz-2.x.x. Substitua o .x.x pela versão do seu kernel. Esta informação será útil quando você for configurar o LILO para bootar com essa nova imagem. Veja a configuração do LILO ou do GRUB também.

Passo 3:

# make modules
# make modules_install
# lilo
# reboot


O 'make modules' cria os módulos que você configurou no 'make menuconfig' e o 'make modules_install' instala estes módulos compilados no diretório /lib/modules. O 'lilo' reinstala o LILO, para obter mais detalhes, veja sobre a configuração do LILO, e só utilize este comando se você estive rodando o lilo e não o GRUB (geralmente quando se está usando o GRUB, o arquivo "/etc/lilo.conf" não existe ou está vazio. E por último, o 'reboot', que reseta a máquina para que seu kernel novo funcione.

Se você usa GRUB, não se esqueça de alterar o arquivo "/boot/grub/menu.lst" e adicione na opção 'kernel' o caminho da sua imagem do kernel recém-criada. No caso do GRUB, não é preciso executar nenhum comando, é só salvar o arquivo que as configurações estarão feitas.

A recompilação do kernel é a única coisa no Linux que necessita reiniciar a máquina!

Passo alternativo:

As instruções acima foram para a compilação de um upgrade do kernel. Se você quiser recompilar o kernel somente para adicionar e/ou retirar coisas, você vai ao diretório '/usr/src/linux' e executa o passo 2.

Espero ter ajudado!
=)

Outras dicas deste autor

Introdução a Ruby on Rails

Instalando kernel 2.6.x no Slackware 10.2

Instalando o Linux num pen drive

Customizando o Terminator com Solarized Color Scheme

Introdução ao Slackware Linux 13 - Instalação

Leitura recomendada

Atualização do kernel 3.18 no Ubuntu

Debian Squeeze com kernel 3.0.4

Kernel patch de Con Kolivas (otimização para desktops)

Too much work for irq17

Atualizando Kernel graficamente no Linux Mint 17

  

Comentários
[1] Comentário enviado por EdDeAlmeida em 14/12/2006 - 10:07h

Valeu cara! Simples e direto. Sempre aparecem perguntas aqui sobre compilação do kernel. A partir de agora vou indicar a sua dica para quem perguntar. Já marquei-a nos meus favoritos.




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts