Compilando kernel no Debian Squeeze

Procedimentos

1. Instalar os pacotes necessários:

# apt-get update
# aptitude safe-upgrade

Tem alguns pacotes a mais do que o necessário, mas neste caso, o que abunda não prejudica.

# aptitude install build-essential module-init-tools kernel-package initramfs-tools libaal-dev wget liblzo2-dev gzip expectk libncurses5-dev dpatch udev

2. Fazer o download do kernel desejado no site kernel.org.

O download pode ser feito via navegador ou pelo terminal. No terminal, utiliza-se o pacote wget:

# wget http://caminho_completo_do_kernel

Exemplo:

# wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.6.tar.bz2

Obs.: O kernel será baixado no diretório/pasta onde você estiver.

# ls  #Para ver o arquivo baixado

3. Descompactar o arquivo do kernel:

# tar -jxvf nome_do_arquivo.tar.bz2  #Para arquivos: .tar.bz2
# tar -vzxf nome_do_arquivo.tar.gz  #Para arquivos: .tar.gz
# ls  #Para ver o arquivo descompactado

4. Copiar o kernel para o diretório /usr/src (diretório/pasta padrão de compilação do kernel no Debian):

# cp -R linux-x.x.x /usr/src
# cd /usr/src  #Entrar no diretório
# ls  #Verificar se o arquivo foi copiado

5. Nas opções de configuração (make menuconfig), as opções marcadas com “M” indicam que a instalação se dará como módulos, ou seja, não farão parte do bloco monolítico do kernel.

As opções marcadas com “*” (asterisco) indicam que serão instaladas dentro do kernel, ou seja, farão parte do bloco monolítico do kernel, e os drivers e módulos iniciarão junto com o sistema. Em alguns casos, isto é interessante para melhorar o desempenho.

Executar os comandos abaixo em sequência (aguardar o final após cada comando e sempre ler as mensagens de retorno para ver se deu algum erro):

# ln -s linux-x.x.x linux  #Cria um link simbólico necessário para a compilação
# ls  #Confirmar se o arquivo foi criado
# cd linux  #Entra no diretório criado
# make-kpkg clean  #Limpa prováveis compilações anteriores
# make mrproper  #Limpa prováveis compilações anteriores
# make menuconfig  #Entra nas configurações do kernel

Para alterar de “M” para “*” e vice-versa, é só pressionar a barra de espaços.

Vá em “Processor type and features”, e marque (barra de espaços) a opção que corresponde ao processador da máquina.

Mais abaixo, vá em “Timer frequency”. Se a sua instalação for do tipo servidor marque, a opção 100 HZ (isso melhorará o tempo de resposta do servidor para as requisições). Para Desktop, deixe como está.

Retorne ao menu principal.

Vá em: Networking support → Networking options → Network packet filtering framework (netfilter) → IP: netfilter configuration

Verifique se “IPv4 connection tracking support (required for NAT)” está marcada.

Mais abaixo, marque as opções:

IPv4 NAT
MASQUERADE target support
NETMAP target support
REDIRECT target support

Volte ao menu principal.

Vá em “File Systems”, marque os sistemas de arquivo utilizados no particionamento da instalação com: “*”

Mais abaixo, vá em “Native language support” e marque com “*” as opções:

Codepage 860 (Portuguese)
ASCII (United…)
NLS 8859-1 (Latin 1, …)
NLS UTF-8

Retorne ao menu principal dando EXIT. Após o último EXIT, aparecerá a janela “Do you wish…”, deixe como: “Yes”

Compilação

6. Compile:

# make config_debug_section_mismatch=y  #Compila e previne possíveis erros durante a compilação, deverá demorar de uma a duas horas
# make modules  #Compila os módulos
# make modules_install  #Instala os módulos
# make install  #Instala o kernel
# cd /lib/modules  #Entrar no diretório
# ls  #Confirmar que foi criado o arquivo x.x.x, no caso, 3.7.6
# mkinitramfs -o /boot/initrd.img-x.x.x /lib/modules/x.x.x  #Cria a imagem do kernel
# cd /boot  #Entrar no diretório /boot e conferir se o arquivo foi criado
# cd  #Entra no diretório raiz
# update-grub  #Atualiza o GRUB
# shutdown -r now  #Reinicia

Ao reiniciar, o novo kernel deverá aparecer nas opções do GRUB.

Depois, atualize o sistema (opcional):

# aptitude update
# aptitude safe-upgrade

Em caso de erro em alguma etapa da compilação:

  • Apague os arquivos criados do novo kernel dentro dos diretórios: /boot e /lib/modules
  • Recomece a partir do comando: make-kpkg clean (estando dentro do link: linux)

E seja feliz com seu novo e atualizado kernel.

Rolar para cima