Compilar kernel Linux 2.6.36 no Debian Squeeze

Publicado por Perfil removido em 01/02/2011

[ Hits: 17.953 ]

 


Compilar kernel Linux 2.6.36 no Debian Squeeze



Saudações pessoal.

Há algum tempo não compilava um kernel Linux. Fui aventurar novamente para não perder o costume e o aprendizado. Ao compilar um kernel existe a possibilidade de otimizar, customizar o sistema.

Esta dica contém informações de como compilar uma nova versão estável do kernel Linux para computadores no sistema operacional GNU/Linux Debian 6.0, codinome Squeeze. Todo o processo estou realizando na VM (Virtual Machine).

Não me responsabilizo por eventuais danos em seu equipamento pelo mal uso das informações. É de sua inteira responsabilidade querer ou não utilizar os comandos.

1. Realizar o download:
Recomendo o download da imagem de 640mb ou Net Install (instalação com pacotes atualizados).

2. Após o download e instalação, os mirrors terão como padrão (por enquanto) o Lenny, para isso faça a edição no diretório:

# vim /etc/apt/source.list

Repositórios: main (o repositório principal), updates (atualizações de segurança) e volatile (um novo repositório, destinado a oferecer atualizações para pacotes que mudam com frequência).

deb http://ftp.br.debian.org/debian/ lenny main
deb-src http://ftp.br.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Ficará desta forma, não estarei usando o Volatile:

deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

# deb http://volatile.debian.org/debian-volatile lenny/volatile main
# deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

# apt-get update

Atualizar os mirrors, com a mudança do Lenny para Squeeze.

# apt-get upgrade

Atualização do sistema para o Squeeze, todas as atualizações dos pacotes e atualiza o kernel (realiza uma compilação do kernel 2.6.32, que se encontra no repositório do Debian).

3. Download e descompactando o kernel:

wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
# tar -xjvf linux-2.6.36.tar.bz2 -C /usr/src
# cd /usr/src/linux-2.6.36


4. Configuração do kernel:

Primeiramente você terá que fazer downloads de alguns pacotes para compilação.

# apt-get install ncurses* gcc make

Digite no terminal:

make menuconfig - Em modo texto.
make xconfig - X windows (Qt) ferramenta de configuração para KDE desktop.
make gconfig - X windows (Gtk) ferramenta de configuração para GNOME desktop.

Onde pode fazer a customização do kernel, acrescentar, retirar as configuração para seu hardware em específico. Em particular, eu prefiro usar make menuconfig.

5. Compilação kernel Linux:

Existem uma opção no comando make para processadores com mais de um núcleo: -j2 e -j4, assim o processo fica mas rápido. Caso não possua este processador, não precisa colocar estas opções depois do make.

# make -j4

Criação, após customização no make menuconfig.

# make -j4 modules

Iniciar a compilação dos módulos do kernel.

# make modules_install

Instalação dos módulos do kernel.

# cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.36

6. Instalação do kernel:

# make install

7. Criação do initrd:

# cd /boot
# mkinitramfs -o initrd.img-2.6.36 2.6.36


8. Grub:

Estou usando o Grub2.

# update-grub

Este foi o procedimento que realizei para a compilação do kernel 2.6.36, espero que tenham gostado.

Abraços.

Outras dicas deste autor

Configurando o proxy como variável de ambiente

Autenticação Squid em PostgreSQL

Plugin de busca no LinuxPackages.net

Como instalar o módulo (driver) da placa Wireless RTL8192se

Cannot load /etc/httpd/modules/ mod_access.so into server: o Apache não inicia?

Leitura recomendada

PUX - Linux Acadêmico Brasileiro

Como instalar o Discord no Manjaro

Mudando a posição dos botões nas janelas do Ubuntu 10.04

Instalando o KDE4 no Ubuntu / Kubuntu (7.10)

Administrando o CUPS por linha de comando (parte 1)

  

Comentários
[1] Comentário enviado por willian.amaral em 13/05/2011 - 22:14h

òtimo artigo, funcionou perfeitamente.

[2] Comentário enviado por trilhasul em 22/02/2012 - 15:44h

Albino Biasutti Neto seu Post resolveu um problema
que não conseguia resolver faz tempo.
Seu texto é claro e sem firulas. Direto no ponto.
Parabéns e muito obrigado.

[3] Comentário enviado por clon¥ em 26/10/2012 - 09:53h

Caríssimo Albino,
Depois de muitas procuras, cai aqui no seu post.

Parece-me bem objetivo e claro.

Estou seguindo cuidadosamente o passo-a-passo. Tendo sucesso, postarei aqui.

OPS!!!
Engasguei na etapa de cópia do kernel:
cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.36

*** No caso peguei a imagem mais recente: linux-2.6.39
*** O meu sistema instalado atualmente é o 2.6.32-amd64 - 64bits

PERGUNTO: Na hora de baixar o Kernel existe um arquivo para cada arquitetura 32bits e 64bits?
Ou dentro do arquivo tem todas as arquiteturas compactada?
Perguntei isso, por que parei justamente nesta linha de comando onde você indicou: "cp arch/x86_64/..."
dentro da minha pasta /usr/src/linux-2.6.39/arch
Só tem a pasta x86 e outras de outros sistemas, como ia64, etc,etc, mas não tem a amd64.

E aí?

====
Meu último passo foi o comando:
make modules_install

onde obtive no final a seguinte etapa:
.
.
.
INSTALL sound/synth/snd-util-mem.ko
INSTALL sound/usb/caiaq/snd-usb-caiaq.ko
INSTALL sound/usb/snd-usb-audio.ko
INSTALL sound/usb/snd-usbmidi-lib.ko
INSTALL sound/usb/usx2y/snd-usb-us122l.ko
INSTALL sound/usb/usx2y/snd-usb-usx2y.ko
DEPMOD 2.6.39
===============================

[email protected]:/usr/src/linux-2.6.39# ls arch

***Conteúdo da pasta "arch"

alpha blackfin h8300 m32r mips powerpc sh um xtensa
arm cris ia64 m68k mn10300 s390 sparc unicore32
avr32 frv Kconfig microblaze parisc score tile x86

[4] Comentário enviado por removido em 26/10/2012 - 14:06h

Olá

digita:

uname -a

Veja a arquitetura que está no seu kernel:

Linux debian 2.6.32-5-XXXX

O XXXX onde deve ser i686, amd64 etc.

Um kernel possui vários arquiteturas, o que deve ser feito é sua compilação correta.

[5] Comentário enviado por clon¥ em 26/10/2012 - 16:54h

Justamente, como fazer esta compilação correta?

O kernel atual é exatamente este: 2.6.32-5-amd64 como mencionei acima.

E aí? O que posso fazer para seguir adiante?

Parei nestas duas etapas e não consegui eguir adiante:

# make modules_install

Instalação dos módulos do kernel.

# cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.36

**** Veja o comentário acima do seu.

Agradeço desde já,

[6] Comentário enviado por clon¥ em 28/10/2012 - 20:22h

Parabéns por este passo-a-passo.

Resolvido!

O erro citado era MCDO (Mau Contato Do Operador)!

Funciona perfeito.
Apenas tive que efetuar alguns ajustes ao longo da execução, pois instalei somente modo texto e faltava o pacote bzip2 que instalei manualmente.



Contribuir com comentário