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

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

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

Instalando Slackware 10.2 em HDs SATA

Implementando um kernel GNU/Linux mais seguro

Compilando o Kernel Linux

Compilação do Kernel Linux para máquinas locais Debian

NetFilter Hook em Kernel 2.6

  
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