Compilando Kernel 2.6.34 usando Debian Lenny

Caros amigos do Linux, irei descrever como compilar o kernel do Linux 2.6.34 utilizando o Debian Lenny. Esse artigo foi motivado após perder um final de semana tentando compilá-lo para o meu notebook. Então com o intuito de facilitar a vida de quem irá tentar a mesma coisa, segue o tuto.

[ Hits: 19.800 ]

Por: Wlahyrton Sergio Frreira Meireles Filho em 26/08/2010


Introdução



Existem alguns pacotes que deverão estar instalados para tal tarefa, que podem ser instalados pelo apt-get:

# apt-get install kernel-package libncurses5-dev fakeroot build-essential

1. Descompactar o kernel baixado na pasta /usr/src:

# tar -xvjf nome_do_kernel.bz2

2. Criar link simbólico para a pasta do kernel descompactado na pasta /usr/src:

# ln -s nome_da_pasta linux

3. Caso você já tenha tentado rodar a compilação antes, faça uma limpeza do kpkg.

# make-kpkg clean

4. Copie o arquivo contendo a configuração dos módulos do kernel atual, isso ajudará bastante na configuração do no novo kernel.

# cp /boot/config-versão_do_seu_kernel .config

Obs.: Você deverá estar dentro da pasta que descompactou o kernel.

5. Para executar a configuração do kernel você deverá usar o comando:

# make menuconfig

6. Será exibida uma tela e nela você deverá ir até a opção de carregar a configuração e ele já irá pegar o .config copiado anteriormente.

7. Após carregar você poderá realizar as edições do seu novo kernel ou apenas salvar e sair.

8. Executar o comando para criar os arquivos de compilação:

# make-kpkg debian

9. Edite o arquivo version_vars.mk contido na pasta do kernel (/usr/src/pasta_descompactada/debian/ruleset/misc) seguindo a dica da próxima página.

10. Execute a compilação do kernel e o empacotamento do mesmo. Todo tuto diz isso, mas é sempre bom lembrar que essa tarefa é demorada e depende da potência do seu computador. No meu PC athlon64 3200 e 2GB RAM Dual channel FSB 800MHZ demorou cerca de 1h30min.

# fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

No comando --append-to-version=- existe a palavra custom, porém você poderá substituir por uma nomenclatura que desejar, só não pode ter espaços na nomenclatura que for colocada.

11. Após a compilação e empacotamento serão criados dois pacotes .deb, um referente ao header e outro imagem do kernel. No meu caso foram:

linux-headers-2.6.34-2.6.34_2.6.34-2.6.34-10.00.Custom_amd64.deb
linux-image-2.6.34-2.6.34_2.6.34-2.6.34-10.00.Custom_amd64.deb

12. Com os pacotes montados agora é só instalar como qualquer outro pacote do Debian seguindo a seguinte ordem.

# dpkg -i linux-image-2.6.34-2.6.34_2.6.34-2.6.34-10.00.Custom_amd64.deb
# dpkg -i linux-headers-2.6.34-2.6.34_2.6.34-2.6.34-10.00.Custom_amd64.deb


13. Após esse último passo é só reiniciar o PC e no grub já estará a opção de entrar com o novo kernel.

Abraço a todos, espero que tenha ajudado e estarei a disposição, caso tenham alguma dúvida.

Caso tenham alguma dúvida quanto a edição do arquivo, deixem o e-mail que envio o meu já editado.

Referência: Kernel Compilando do jeito Debian - gutocarvalho.net

    Próxima página

Páginas do artigo
   1. Introdução
   2. Anexo 1: Tela de erro por falta de um if no código fonte
   3. Anexo 2 - Arquivo version_vars.mk
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Kernel Hacking (RootKits)

Compilando kernel 2.6.11 no Slackware 10

Compilando um novo kernel em distribuições RPM-like

KernelCheck - Instalando o kernel mais recente em distros Debian-like e outras

Gerência e criação de módulos do kernel

  
Comentários
[1] Comentário enviado por ---Anonymous--- em 26/08/2010 - 10:50h

Amigo, até hoje, eu ainda não vi UM artigo explicando realmente como se configura e compila um kernel. Compilar é facil, quero ver explicar detalhe por detalhe das opções que o novo kernel oferece, o que pode e o que não pode habilitar nas opções do novo kernel. Isso é o mais importante.

[2] Comentário enviado por mcnd2 em 26/08/2010 - 23:17h

Eu nunca compilei um kernel, mas vou ver se instalo o Debian em outra partição_ Minha Debian, rsrsrs, está filé então não quero deixar fora do ponto - sistema principal _e então ler e seguir alguns artigos incluindo o seu para ver no que vai suceder no produto final, rsrsrs...
vlw...

Parabéns !!!

[3] Comentário enviado por leandromoreirati em 27/08/2010 - 11:36h

Belo artigo,
Mas esse erro pode ser resolvido de forma mais simples que editar o fonte do kernel, apos o erro da compilação, no console:

#cp include/generated/utsrelease.h include/linux/

Att.

Leandro Moreira


[5] Comentário enviado por _SL0T_ em 01/10/2010 - 21:48h

So tenho uma coisa a DIZER...

Salvoooooooooooo a pátriaaaa!!!!

Valeu mesmo... seu artigo me poupou horas e horas de pesquisa!

[6] Comentário enviado por asdf2 em 27/10/2010 - 16:26h

foi pro favoritos, valeu

[7] Comentário enviado por samir.avila em 12/11/2010 - 16:52h

Muito bom! Resolveu meu problema.

Também ocorreu esse problema abaixo ao tentar compilar o kernel 2.6.36:

lguest.c: In function ‘setup_tun_net’:
lguest.c:1568: error: ‘VIRTIO_RING_F_INDIRECT_DESC’ undeclared (first use in this function)
lguest.c: In function ‘setup_rng’:
lguest.c:1811: error: ‘VIRTIO_ID_RNG’ undeclared (first use in this function)
make[1]: *** [lguest] Error 1
make[1]: se sale del directorio `/usr/src/linux-2.6.36/Documentation/lguest’
make: *** [debian/stamp/build/kernel] Error 2
debian#

Soluçao para esse problema:

# editar Documenation/lguest/Makefile

Alterar:
all: lguest
por:
all:

Att.

Samir Avila



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts