Compilando Kernel do Linux no Debian

Muitos usuários têm medo de se aventurar na compilação do kernel do Linux. Neste artigo explicarei em detalhes os passos para realizar a compilação de um kernel. O processo de compilação é útil para ativar novos recursos, tornar módulos em built-in no kernel, agilizar o boot da máquina, entre outros.

[ Hits: 18.511 ]

Por: Marcelo Ferreira em 22/07/2009


Introdução



O kernel é o núcleo do sistema operacional, veremos nesse artigo como compilar o kernel para utilizarmos todos os recursos que o hardware disponibiliza.

A ideia de compilar o kernel é torná-lo mais enxuto e seguro. Com a compilação podemos adicionar suporte a funcionalidades não habilitadas por padrão.

Um kernel bem compilado conterá apenas o conjunto estritamente necessário ao funcionamento do computador e não terá nenhum módulo externo compilado.

O processo de compilação pode parecer difícil, mas com a prática poderemos chegar ao resultado esperado.

Pré-requisitos

Vamos instalar todos os pré-requisitos para a compilação de um novo kernel.

Não vou demonstrar como configurar o repositório do Debian. No VOL existem várias dicas com referência a configuração para atualização de pacotes no Debian.

Instalação dos pacotes necessários:

# aptitude install pciutils usbutils gcc autoconf libncurses5 libncurses5-dev ncurses-base ncurses-bin ncurses-term make g++ initrd-tools libqt3-mt-dev

Conhecer os módulos em execução

Para iniciar o processo de compilação do kernel precisamos conhecer o hardware e seus módulos em execução.

No Linux existem várias formas de verificar o hardware e seus módulos. Segue abaixo alguns procedimentos que podem ser tomados:

# cat /proc/modules
# cat /proc/cpuinfo
# cat /proc/interrupts
# cat /proc/meminfo
# cat /proc/ioports
# update-pciids
# update-usbids
# lspci
# lsusb


Para verificar os módulos em execução:

# lsmod

Para verificar os módulos compilados:

# modprobe -l

Para identificar o que cada módulo faz, execute:

modinfo <nome_do_modulo>

Exemplo:

# modinfo ext3

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando e compilando o novo Kernel
Outros artigos deste autor

Transmissão de áudio e vídeo via Multicast

Criando repositório oficial do Debian

Instalação de template para monitoramento de servidor Squid e servidor LDAP no CACTI (Debian)

Leitura recomendada

Debian 3.1 (Sarge) - Atualizando pacotes para unstable e compilando um novo kernel

Kernel 2.6.9 no Slackware

Instalando o kernel 2.6.37 de maneira fácil no Ubuntu 10.10

cpulimit - Limitando o uso da CPU por processo

Implementando um kernel GNU/Linux mais seguro

  
Comentários
[1] Comentário enviado por manoserpa em 22/07/2009 - 09:46h

Opa.

Estou precisando de material sobre este asunto, tenho que compilar o kernel para instalar o nftables para realizar alguns testes e fazer meu TCC sobre firewall.

Mais tarde com tempo vou dar uma lida no seu artigo, vlw obrigado.

[2] Comentário enviado por andre_asn em 24/07/2009 - 12:02h

Boa tarde marceferreira tentei usar seu artigo para dar uma exugada no kernel do meu note mas ocorreu um baita de um problemão sequi as dicas ate aqui:

cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.2.tar.bz2
Quando dei o enter começou a deletar tudo que tinha de programas, paths, atualizações etc... ate ai achei que seria normal depois usando o resto do seu artigo:

tar xjf linux-2.6.30.2.tar.bz2
# ln -s linux-2.6.30.2 linux
Simplesmente volta a mensagem de que não é possivel descompactar arquivo pois outro esta rodando no momento .

reiniciei o note mas continua mesma coisa outro esta rodando no momento .

tentei o apt-get install para instalar novamente os programas deletados mas diz que parametro invalido procure o adm do sistema... pode me ajudar?

[3] Comentário enviado por marceferreira em 24/07/2009 - 12:08h

Vc conseguiu reconfigurar o grub para realizar o boot?

Altere as etapas o modelo abaixo:

Visualizando o nome da pasta dos módulos:
# ls /lib/modules

Criando o initrd:
# mkinitramfs -o /boot/initrd-2.6.30.2-21Jul2009 2.6.30.2-21Jul2009

Alterando o boot:
# vim /boot/grub/menu.lst
title Meu kernel-2.6.30.2
root (hd0,0)
kernel /boot/kernel-2.6.30.2 root=/dev/hda1 ro
initrd /boot/initrd-2.6.29.2

Qquer problema informe novamente!!!

[4] Comentário enviado por gpr.ppg.br em 18/07/2010 - 10:17h

estou compilando o kernel

mas estou com uma duvida.

na parte de escolher o processador
tem uma lista
mas o meu não aparece.

tenho dois processadores
são eles:
turion64
turion64 x2

qual seria os relativos
na relação do kernel
que devo escolher?


antecipadamente agradeço,
gpr.


Contribuir com comentário