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: 19.830 ]

Por: Marcelo Ferreira em 22/07/2009


Configurando e compilando o novo Kernel



Baixar e descompactar o novo Kernel

Navegue até o site www.kernel.org. Vamos executar o comando abaixo, lembrando que o kernel que estamos baixando foi retirado do site em 28/04/2009.

Vamos baixar o novo kernel:

# cd /usr/src
# wget
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.2.tar.bz2

Vamos descompactar o novo kernel:

# tar xjf linux-2.6.30.2.tar.bz2
# ln -s linux-2.6.30.2 linux


Alterar o parâmetro EXTRAVERSION e facilitar a organização do diretório /lib/modules/2.6.29-EXTRAVERSION. Incluir no parâmetro EXTRAVERSION a data corrente.

# cd /usr/src/linux
# vim Makefile


EXTRAVERSION=-21Jul2009

Configurando e compilando o novo Kernel

Criando o arquivo .config de configuração do fonte do kernel:

# cd /usr/src/linux

Limpar qualquer arquivo temporário desnecessário da árvore do Kernel:

# make clean
# make mrproper


Configurar o novo kernel através do terminal utilizando o comando abaixo:

# make menuconfig

Ao final salve todas as configurações.

Será criado um arquivo de configuração. Vamos verificar e copiar este arquivo para o local correto para boot:

# cat /usr/src/linux/.config
# cp /usr/src/linux/.config /boot/config-2.6.30.2


Compilar o novo kernel:

# make

Módulos, imagem e initrd do novo Kernel

Copiar os módulos do novo kernel para o local correto (/lib/modules):

# make modules_install

Copiando o arquivo de imagem do novo kernel:

# cd /usr/src/linux/arch/i386/boot/
# file bzImage
# stat bzImage
# cp bzImage /boot/kernel-2.6.30.2


Visualizando o nome da pasta dos módulos:

# ls /lib/modules

Criando o initrd:

# mkinitramfs -o /boot/initrd-2.6.30.2-21Jul2009 (versão encontrada através do comando "ls /lib/modules")

Configurando o Grub

Agora vamos configurar o Gestor de Boot, o Grub:

# update-grub

Podemos também configurar o Grub manualmente, incluindo as linhas referentes ao novo Kernel:

# vim /boot/grub/menu.lst

title Meu kernel-2.6.29.2
root (hd0,0)
kernel /boot/kernel-2.6.29.2 root=/dev/hda1 ro
initrd /boot/initrd-2.6.29.2
savedefault

Agora reinicie o seu computador, selecione o novo Kernel e boa sorte.

Em caso de erro, falha ou se achar conveniente uma nova compilação é só seguir este artigo novamente.

Viva a liberdade.

Página anterior    

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

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

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

Criando repositório oficial do Debian

Leitura recomendada

UZIX - O Linux do MSX (Z80)

Instalação e configuração do Squid com TProxy no Debian

Kernel atualizado no Debian - Parte II

Compilando Kernel 2.6.34 usando Debian Lenny

Kernel atualizado no Debian - Parte I

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts