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.194 ]

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

Criando repositório oficial do Debian

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

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

Leitura recomendada

Tornando o kernel do OpenBSD enxuto

Slackware 13 - Compilando o kernel 2.6.32rc6

Compilando kernel 2.6.11 no Slackware 10

Guerra Infinita, uma análise da Ciência da Computação

Compilando um kernel Linux

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts