mar
5
2009

Instalando novo Kernel no Debian.


Agora vamos aprender a instalar um novo kernel no Debian de maneira bem prática, mas mesmo sendo prática precisa ter bastante paciência. O processo de preparação e compilação do novo kernel pode ser uma tarefa demorada dependendo da performance do seu computador, para computadores com processadores mais rápidos já é demorado, imagine com computadores mais antigos. :) Mas vamos por mãos à obra:


Antes de tudo, você precisa ter os seguintes pacotes: libncurses5-dev bzip2 module-init-tools build-essential e initrd-tools, para instalá-los faça:

# apt-get install libncurses5-dev bzip2 module-init-tools build-essential initrd-tools

Agora sim podemos começar: :)

01 – Temos que baixar o kernel sources, para isso baixe no link http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.7.tar.bz2 essa é a versão estável mais recente do kernel. Para baixar outras versão basta entra no mesmo link e baixar qual você quer.

02 – Mova o arquivo que você baixou para a pasta /usr/src, e descompacte:

# tar xjvf linux-2.6.28.7.tar.bz2

03 – Agora vá na pasta que você descompactou o kernel e crie um link simbólico para ele, para ficar mais fácil trabalharmos com ele:

# cd /usr/src
# ln -s linux-2.6.28.7 linux

04 – Vamos entrar no diretório(link simbólico que fizemos) e dê:

# cd linux
# make mrproper

05 – Para configurar as opções do kernel, faça:

Se estiver com o ambiente gráfico aberto:
# make xconfig

Se estiver com o ambiente gráfico fechado:
# make menuconfig

06 – Aconselho se for a primeira vez que estiver fazendo a compilação e instalação de kernel não alterar as configurações do kernel. Depois de sair da configuração faça:

# make all
# make modules
# make modules_install
# make
# make install

Esses passos que vai demorar um pouco… :) então paciência é primordial.

07 – Vamos agora copiar a imagem do kernel compilado para a pasta /boot:

# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.28-7

08 – Primeiro fizemos preparamos e instalamos os módulos e depois que instalamos o kernel. Vamos para a pasta /boot para gerar o initrd do novo kernel:

# cd /boot
# mkinitrd -o /boot/initrd.img-2.6.28-7 /lib/modules/2.6.28.7

09 – Agora editamos o grub para dar boot no nosso novo kernel:

# nano /boot/grub/menu.lst

Adicione o seguinte código:

title Debian GNU/Linux, kernel 2.6.28.7
root (hd0,0)
kernel /boot/vmlinuz-2.6.28-7 root=/dev/hda1 ro quiet
initrd /boot/initrd.img-2.6.28-7

Atualizamos o grub:

# grub-install /dev/hda

Pronto! Só reiniciar o computador com o seu novo kernel.

Abraços.



7 Comentários + Comentário

  • o comando make all parece criar todos os modulos possiveis do kernel e não apenas os escolhidos no ?config
    isto é verdade? se sim, não torna o kernel grande e lento?
    sou iniciante em linux e esta é a primeira vez que tentarei compilar o kernel.
    última dúvida é possivel fazer backup do kernel em .deb?

    • Ola Jefferson, Bem vindo ao blog.

      Na verdade o comando make all ele irá fazer todos os processos necessários para a compilação do kernel, mas com as modificações que você fez no config, pois quando você configura o kernel para sua máquina, o kernel passa ser aquele que você configurou, assim sendo, quando você digita o comando make all ele vai fazer os processos do kernel que está lá, modificado e tudo mais.

      Quanto ao backup dos .deb nunca fiz, mas você pode verificar se os pacotes estão no /usr/src/linux e /lib/modules e copiar os arquivos que estão lá. Mas sinceramente não sei se funcionará esse procedimento pois nunca fiz esse tipo de backup.

      Muito obrigado pela visita e comentário.

      Abraços

  • o comando mkinitrd retorna: bash: mkinitrd: comando não encontrado
    não consigo encontrar o pacote do mkinitrd ou initrd-tools
    no ubuntu encontrei o yaird que parece fazer a mesma coisa, porém, ao dar o comando : yaird -o boot/initrd.img-2.6.29 /lib/modules/2.6.29 retorna: yaird error: unknown kernel version: /lib/modules/2.6.29 (fatal)
    bem. poderia ser porque o processardor que escolhi no menuconfig foi o AMD64 (k8)
    e ao inves de apontar para i386 deveria ser outra? mas a opção mais provavel x86_64 ou amd64 não estão disponiveis, apenas i386, x86, ia64 e outras improvaveis.
    um grande abraço!

    • Ola Jefferson,

      Verifique na sua sources.list se esta habilitado os repositórios main, contrib e non-free. Para te ajudar veja esse link: http://wiki.forumdebian.com.br/index.php/Sources.list

      Me parece que é a primeira vez que você esta compilando o kernel né, aconselho a seguir os passos desse link: http://www.hqxriven.co.cc/blog/kernel/omnislash5 . Se seguir esses passos para a instalação do kernel otimizado não vai ter erro.

      Confesso que esse método que eu postei esta um tanto quanto antigo, pois essa maneira eu fazia antigamente, eu irei fazer um post com o método que eu faço agora, criando os .deb é mais simples e mais rápido me parece.

      Abraços

  • Por favor me ajude. Estou mantando o meu proprio linux em uma outra partição que esta montada em /mnt/target/ . Antes de instalar os modulos eu faço:export INSTALL_MOD_PATH=/mnt/target . Dai o modulo vai para a minha partição so que quando executo :mkinitrd -o /mnt/target/boot/initrd.img-2.6.28-7 /mnt/target/lib/modules/2.6.28.7 da o seguinte erro: /usr/sbin/mkinitrd: /mnt/target/lib/modules/2.6.28.7 is not a valid kernel version

    O que eu faço?

  • obrigado

Faça um comentário

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Parceiros

  • C# Brasil Blog com muitas dicas interessantes sobre C#, ASP.NET, WinForm, WebForm, AJAX e muito mais.
  • Epidemic GNU/Linux Website da distribuição linux baseada no Debian testing.
  • sidux Brasil Website da comunidade brasileira do sidux, distribuição baseada no Debian unstable (sid).
  • SUD.tvieira.net Blog com conteúdo sobre A Igreja de Jesus Cristo dos Santos dos Últimos Dias.

Anúncio

Lista de Links

  • Br-Linux Blog sobre o que rola no mundo do software livre.
  • Dicas-L Site com várias dicas sobre linux.
  • Distrowatch Site com informações de várias distribuições linux e com o rank de distribuições mais conhecido no mundo linux.
  • Notícias Linux Site com notícias sobre o mundo linux.
  • Viva o Linux Site com muitas informações como dicas e tutoriais sobre linux.