quinta-feira, 5 de janeiro de 2012

Implantando um kernel no linux sem compilar

Hoje vou explicar como faço para "instalar" um kernel novo no linux, sem compilação. Na verdade é uma "implantação", ou seja, inserção de um kernel alienígena manualmente.

É um recurso útil para quem necessita de acrescentar um recurso indisponível na distro preferida, ou apenas brincar com o sistema.

Para obter sucesso, você deverá respeitar as respeitar as seguintes regras:

  • kernel com o mesmo tipo de empacotamento (ex.: deb-deb)
  • compilados para mesma versão do gcc
  • de versões o mais próximas possíveis

Inicie baixando o kernel desejado e descompacte-o com o "botão direito do mouse -> extrair aqui". Como exemplo usarei o 3.1.0 da árvore instável do Debian. Você obterá os arquivos abaixo, onde os mais importantes são boot e lib.


Dentro da pasta "boot" estão todos os arquivos necessários para que o grub carregue o kernel implantado: o vmlinuz, o system.map e o config. Todos deverão ser movidos para o diretórios /boot de sua distro.

Na pasta "lib" há outra, modules, que contém todos os módulos compilados para o kernel em questão. No nosso exemplo,"/lib/modules/3.1.0-1-amd64". Mova-a para o mesmo diretório de sua distro.

Alguns kerneis possuem ainda outra pasta, a /lib/firmware, que também deverá ter seu conteúdo copiado para a homônima de seu sistema.

Certifique-se de que todo o conteúdo que citei foram copiados para suas respectivas pastas, sem excessão. Isso é muito importante para que o kernel funcione sem problemas:

no diretório /boot

no diretório /lib/modules

 Observe bem que a versão do kernel implantado é 3.1.0-1-amd64. Agora devemos criar a imagem de inicialização do sistema, com o comando abaixo, como superusuário:

# mkinitramfs 3.1.0-1-amd64 -o /boot/initrd.img-3.1.0-1-amd64
 
Terminado o passo anterior, atualize as configurações do grub utilizando o comando abaixo como superusuário:

# sudo update-grub


Pronto. Agora reinicie o sistema e entre pelo novo kernel. Qualquer problema volte para o antigo e refaça os passos acima, corrigindo onde errou. Se tudo correr bem, boa diversão!

Até a próxima dica!
;-))

Nenhum comentário:

Postar um comentário