Ferramentas Pessoais
Você está aqui: Página Inicial Dicas Compilar kernel em distros baseadas em Debian

Compilar kernel em distros baseadas em Debian


Colaboração: Rafael Henrique da Silva Correia

Você está calmo hoje? Não se estressou? Então você poderá compilar seu kernel
hoje, pois requer muita paciência...

Primeiramente baixe a versão mais e estável (The latest stable version of
the Linux kernel) nova do kernel em www.kernel.org.

Adquirida a nova versão iremos prosseguir com nossos passos:

Passo 1.


# apt-get update

Atualizaremos suas fontes de repositório para que os pacotes mais recentes sejam instalados.

Passo 2.


#apt-get install build-essential kernel-package libncurses5-dev tar gzip bzip2


Instalando pacotes necessários para a compilação do kernel:

 | build-essential |  instala os pacotes mais usados para compilar programas que devem ser instalados |
 | kernel-package |  pacote feito para  criarmos  pacotes de kernel em deb e instalarmos no Ubuntu de forma nativa (que pertença a ele por padrão) |
 | libncurses5-dev |  provém links, headers entre outros elementos da biblioteca libncurses5 que serve para rodar programas compilados por meio de ncurses |
 | tar gzip bzip2 |  compactadores básicos do Linux |

Passo 3.


Descompacte o arquivo do kernel do Linux no diretório /usr/src:

#tar -xvjf linux-2.6.22.1.tar.bz2 -C /usr/src
#ln -sf /usr/src/linux-2.6.22.1 /usr/src/linux

O primeiro descompacta o arquivo linux-2.6.22.1 para a pasta /usr/src/linux-2.6.22.1

O segundo cria um link-simbólico do seu novo kernel para a pasta linux,
a criação deste link simbólico serve para que seu sistema e seus programas
instalados consigam identificar que kernel você está usando

Lembrando-se que:
Quando construí este tutorial o kernel mais novo e estável do Linux estava em 2.6.22.1

Passo 4.

#cp /boot/config-$(uname -r) .
#mv config-$(uname -r) .config

Passo 5.


Na quarta linha do arquivo /usr/src/linux/Makefile está a extraversion como .1,
podemos editar o .1 colocando -20070715-c1 (data de trás para frente e -c1
significa compilação 1)para isso:

#vim /usr/src/linux/Makefile


E altere a 5ª linha do arquivo.

Pra que mudar esta linha?

Esta linha chamada extraversion, nós mudamos pra efeito de organização,
pois quando as configurações forem relativas a kernel sempre após o nome
e o versão do kernel será escrito um  nome  que é o que está escrito na
extraversion. Por exemplo:

Quando o kernel for compilado se listarmos nossos módulos de dispositivos
instalados poderemos ver que módulos pertencem a que compilação usando
o comando:

#ls /lib/modules


Passo 6.


Vamos a compilação, agora ficou fácil vamos compilar o bichinho:

#make menuconfig


Agora escolha as opções que você quiser, não abordarei esta parte, pois
existem n computadores com n hardwares e n configurações de kernel boas.

Passo 7.


Agora vamos criar uma pacote .deb pra que fique mais fácil instalar e
desinstalar seu novo kernel.

Limpando porcarias ....

#make-kpkg clean


Criando e pacotes de acordo com a compilação...

#make-kpkg  initrd kenel_image kernel_headers


Agora vá tomar uns 30 litros de café porque este processo é super demorado!

Passo 8.


Agora que a imagem e o header foram gerados simplesmente instale-os com o dpkg ;)!

#dpkg -i linux-headers-2.6.22.1-2007071
5-c1_i386.deb
#dpkg -i linux-image-2.6.22.1-20070715-c1_i386.deb

Os nomes dos arquivos de vocês podem ser diferentes mas isso não muda nada, bom gente terminado, agora só dêem um reboot e rezem, se deu erro voltem ao passo 6 e mãos a obra, e não se aborreçam pois quando compilamos kernel as vezes não conseguimos ver funcionando de primeira mesmo mas isto é completamente normal.

Legenda:


| # | executar como root |
| $ | executar como usuário normal (sem poderes administrativos) |


Fonte: www.dicas-l.com.br