domingo, 29 de maio de 2011

Compilando o Kernel no Debian Linux

Kernel é o núcleo do sistema operacional, onde acontecem os processos mais importantes e necessários à manutenção do sistema.
Uma das virtudes do Linux é a possibilidade de modificar, compilar e instalar esse núcleo, possibilitando um sistema configurado especificamente para o seu processador, memória e periféricos.
Isso traduz-se em estabilidade e velocidade de processamento.
Podemos também manter alguns núcleos instalados como backup para inicializar o computador no raro caso do sistema corromper.

Mas o Kernel precisa ser configurado e compilado antes da instalação, num processo bem complicado.

Felizmente os usuários do Debian podem fazer isso de forma prática, graças ao comando make-kpkg, que automatiza praticamente tudo, deixando como resultado final um simples arquivo de instalação ".deb".

Segue meu script para compilação automática do núcleo Linux em máquinas Debian e derivados:

# Compila Kernel Linux - Debian
# Marcelo Marchi Negreira
# 29/05/2011
# Início
apt-get update
apt-get --yes install libncurses5-dev
apt-get --yes install kernel-package
make clean
make-kpkg clean
make menuconfig
make-kpkg --bzimage --initrd kernel_image
# Fim

1 - Baixe o Kernel desejado em http://www.kernel.org/
2 - Logado como Root (Administrador do sistema), descompacte o núcleo na pasta /usr/src.
3 - Copie esse script para dentro da pasta descompactada do Kernel com o nome "compilar.sh".
4 - Garanta privilégios de execução para o script e ainda como Root, conectado à Internet execute-o (sh compilar.sh).

Ele fará tudo automaticamente: Baixará as dependências necessárias, abrirá o menu de configuração do Kernel e fará o processo de compilação.
O resultado será um arquivo ".deb" na pasta /usr/src.
Execute-o para instalar (dpkg -i nomedoarquivo.deb).

Quando o script abrir as configurações, usará do núcleo atual e o usuário poderá personalizar seu sistema a vontade.

Depois de instalado, o kernel será o padrão no Grub.
Caso precise removê-lo, basta inicializar com o anterior e utilizar o comando "apt-get purge", como num pacote Debian comum.
Use o Synaptic caso prefira.

Por fim, dê um comando "update-grub" no terminal como root, para atualizar a inicialização.

Até a próxima !

4 comentários:

Anônimo disse...

Entendi masi não comprendi...rsrs

quad2011# make clean
make: *** Sem regra para processar o alvo `clean'. Pare.
root@quad:/home/quad2011# make-kpkg clean
We do not seem to be in a top level linux kernel source directory
tree. Since we are trying to make a kernel package, that does not make
sense. Please change directory to a top level linux kernel source
directory, and try again. (If I am wrong, and this is indeed a top
level linux kernel source directory, then I have gotten sadly out of
date with current kernels, and you should upgrade kernel-package)
root@quad:/home/quad2011# make menuconfig
make: *** Sem regra para processar o alvo `menuconfig'. Pare.

Anônimo disse...

quad2011# make clean
make: *** Sem regra para processar o alvo `clean'. Pare.
root@quad:/home/quad2011# make-kpkg clean
We do not seem to be in a top level linux kernel source directory
tree. Since we are trying to make a kernel package, that does not make
sense. Please change directory to a top level linux kernel source
directory, and try again. (If I am wrong, and this is indeed a top
level linux kernel source directory, then I have gotten sadly out of
date with current kernels, and you should upgrade kernel-package)
root@quad:/home/quad2011# make menuconfig
make: *** Sem regra para processar o alvo `menuconfig'. Pare.

Anônimo disse...

quad2011# make clean
make: *** Sem regra para processar o alvo `clean'. Pare.
root@quad:/home/quad2011# make-kpkg clean
We do not seem to be in a top level linux kernel source directory
tree. Since we are trying to make a kernel package, that does not make
sense. Please change directory to a top level linux kernel source
directory, and try again. (If I am wrong, and this is indeed a top
level linux kernel source directory, then I have gotten sadly out of
date with current kernels, and you should upgrade kernel-package)
root@quad:/home/quad2011# make menuconfig
make: *** Sem regra para processar o alvo `menuconfig'. Pare.

Marcelo Marchi Negreira disse...

Parece ter um bug na versão estável do make-kpkg que não compila para processadores 32 bits, a versão 64 bits funciona normalmente.
Sugiro que aguardem a atualização do pacote kernel-package.