Compilando o Kernel 2.6.x

Compilando o Kernel 2.6.x

Irei apresentar a receita de bolo como compilar o seu kernel passo-a-passo.

Muitas pessoas acham Linux complicado e muito menos pensariam em compilar o seu próprio Kernel, mas eu mostrarei o quanto isso é simples e não necessita de um vasto conhecimento na área.

 

Esse artigo foi testado no Debian unstable (sid), mas deverá funcionar em qualquer distribuição baseada no Debian (Debian like, Ubuntu like etc).

A idéia é a mesma em distros não baseadas no Debian, mas comandos ou diretórios podem ser diferentes.

Não se assuste com o tamanho desse artigo. A idéia foi explicar todos os ítens para quem é leigo no mundo Linux, mas o essencial se resume em menos de dez linhas.

Siga cada ítem, na ordem numérica, e compile o seu próprio Kernel, mesmo que você mal tenha mexido com o Linux.

  1. Toda a compilação não precisa ser feita como root (modo administrador), mas a instalação do Kernel no sistema sim. Portanto recomendo fazer tudo como root para evitar problemas. Alguns comandos anteriores à compilação precisarão do modo root.Para entrar no modo root do Debian, digite no terminal:
    su

    Para entrar no modo root do Ubuntu, digite no terminal:

    sudo su

    Ambos os comandos pedirão uma senha. É a senha do root da máquina (o Debian, quando instalado, cria uma conta root e uma conta de usuário; Já o Ubuntu, durante a sua instalação, cria apenas uma conta; A senha do root será a mesma fornecida durante a instalação do Ubuntu).

  2. Escolha o Kernel que você quer baixar no site Kernel.org ou onde você quiser. O importante é ter em mãos o link para download do kernel a ser compilado. Usarei, como exemplo, o seguinte Kernel: http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.34.tar.bz2
  3. Com o link de download em mãos, abra o terminal e digite:
    cd /tmp wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.34.tar.bz2
  4. Após o download ter completado, vamos extrair os arquivos com o seguinte comando:
    tar xjvf linux-2.6.34.tar.bz2 -C /usr/src/ cd /usr/src/linux-x

    Substitua “x” pelo nome do arquivo extraído. No meu exemplo ficou:

    cd /usr/src/linux-linux-2.6.34
  5. Embora a maioria das distros venha com o GCC, programa utilizado para compilar arquivos da linguagem C, como os fontes do Kernel, tenha certeza de que ele está instalado e atualizado com os seguintes comandos:
    apt-get update apt-get install gcc build-essential
  6. Você deve criar o arquivo de configuração (.conf) para o Kernel ser compilado.Para criar esse menu, basta escolher uma das opções abaixo.

    Dicas: Leia antes o comentário de cada opção; Escolha apenas uma opção.

    • make localmodconfig

      Desabilita os módulos não utilizados pelo seu sistema atual. Ele fará pouquíssimas perguntas. Opção recomendada para novatos em Linux.

    • make allyesconfig

      Resposta sim para todas as perguntas. Substituir o “yes” por “no” faz o contrário.

    • make config

      Faz perguntas no terminal sobre alguns módulos, drivers etc. Serão feitas dezenas de perguntas.

    • make menuconfig

      (menu* no terminal) Recomendado para quando as opções acima dão problema. Apenas abra o menu, salve o arquivo de configuração e saia. Se você quiser, você pode adicionar o remover os módulos la listados, desde que você saiba o que está fazendo.

      Dica: Você pode copiar o seu “config” atual que está em “/boot/config*”, para o diretório do Makefile com o seguinte nome: “.conf”; Você poderá carregá-lo através desse menu.

    • make xconfig

      (menu* modo janela baseado em X Windows QT, ideal para quem usa KDE)

    • make gconfig

      (menu* modo janela baseado em X Windows GTK, ideal para quem usa GNOME)

       

      *Importante: Para que o menu funcione, será necessário instalar a biblioteca ncurses:

      apt-get install libncurses5 libncurses5-dev
  7. Agora iremos compilar o Kernel. Observe que atualmente estamos no diretório onde estão os arquivos fonte do Kernel (no meu exemplo, /usr/src/linux-2.6.34/).Os comandos são simples:
    make make modules
  8. Estamos quase terminando. Agora iremos instalar o Kernel e os módulos compilados com os comandos abaixo:
    make modules_install make install
  9. Agora temos que criar o “initrd” para o Kernel instalado. Você não precisa saber, mas o “initrd” significa “Initial RAM disk”, ele contém uma pequena imagem do sistema que será carregada no boot.
    cd /boot/ mkinitramfs -o initrd-x.img /lib/modules/x/

    Substitua o “x” pela versão do seu kernel. Seguindo o nosso exemplo, o comando seria:

    mkinitramfs -o initrd.img-2.6.34 /lib/modules/2.6.34/
  10. Por fim, basta configurar no seu gerenciador de boot o novo Kernel com o novo “initrd”.Como root, digite o seguinte comando:
    update-grub

    Ele localizará o novo Kernel e instalará para você.

Pronto, você viu como adicionar ou remover módulos do Kernel (menus), compilar o kernel e os seus módulos e, por fim, instalá-lo no sistema e no gerenciador de boot.

Detalhei várias partes do artigo para não deixar dúvidas, mas, como avisei antes, esse artigo pode assustar pelo tamanho dele, contudo a compilação e instalação do Kernel é super simples e pode ser resumida em pouquíssimas linhas.

Em um artigo posterior irei falar sobre como adicionar ou remover módulos e patches de terceiros no Kernel.

Leave a Reply

Your email address will not be published.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Abrir chat
💬 Posso Ajudar?