Compilar kernel Linux 2.6.36 no Debian Squeeze

Publicado por Perfil removido em 01/02/2011

[ Hits: 18.461 ]

 


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

cat como um editor de texto simples

OpenOffice.org em português do Brasil no Linux

Grub não reconhece Windows 10 com MBR danificada [Resolvido]

Instalação do Firefox 5.0 no Linux Mint 10

Substituição de strings no VI

Leitura recomendada

Cliente OwnCloud no CentOS Linux

Entendendo o DHCP de forma simples

Ubuntu - Guia do iniciante

Compilando kernel 2.6.27.7 no Linux Slackware 12.1

Sarg com autenticação

  

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
===============================

root@bsbsrv:/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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts