8.4. Compilando um Novo Kernel
Anterior | Capítulo 8. Próximos Passos e Onde ir a Partir Daqui | Próxima

## 8.4. Compilando um Novo Kernel

Porque alguém desejaria compilar um um novo kernel? É mais provável que não precise fazer isto, pois o kernel da debian padrão trabalha com a maioria das configurações. No entanto, é útil compilar um novo kernel para:

- adicionar suporte a hardwares especiais, ou hardwares que conflitam com os kernels padrões

- adicionar suporte a hardware ou opções não incluídas no kernel padrão, tal como APM ou SMP

- otimizar o kernel removendo controladores desnecessários e deixar a inicialização mais rápida

- utilizar opções do kernel que não suportados no kernel padrão (tal como o firewall de rede)

- executar um kernel atualizado ou em desenvolvimento

- impressionar seus amigos, tentando coisas novas

### 8.4.1. Gerenciamento da Imagem do Kernel

Não tema tentar compilar um novo kernel. É divertido e proveitoso.

Para compilar um kernel usando o método da Debian, você precisará de alguns pacotes: `kernel-package`, `kernel-source-2.4.27` (a versão mais recente quando este documento foi escrito), `fakeroot` e alguns outros pacotes que provavelmente já estão instalados (veja `/usr/share/doc/kernel-package/README.gz` para ver a lista completa).

Este método construirá um .deb do seu fonte do kernel e caso tenha módulos não-padrões, criar um arquivo .deb dependente destes também. É uma ótima maneira de gerenciar imagens do kernel; O kernel será gravado em `/boot`, incluindo o arquivo System.map e um log do arquivo de configuração ativo da compilação.

Note que você não precisará compilar seu kernel usando o "Método da Debian"; mas nós achamos que o uso do sistema de empacotamento para gerenciamento do kernel é seguro e fácil. De fato, você poderá pegar os fontes do kernel do Linus ao invés do `kernel-source-2.4.27` e ainda usar o método de compilação do `kernel-package`.

Você encontrará a documentação completa sobre o uso do `kernel-package` sob o diretório `/usr/share/doc/kernel-package`. Esta seção contém somente um breve tutorial.

Nós assumiremos que o fonte do kernel está localizado em `/usr/local/src` e que a versão do seu kernel é 2.4.27. Como root, crie um diretório sob `/usr/local/src` e altere o dono deste diretório para sua conta não-root. Com sua conta normal não-root, altere o diretório para onde deseja descompactar os fontes do kernel (`cd /usr/local/src`), descompacte os fontes do kernel (`tar xjf /usr/src/kernel-source-2.4.27.tar.bz2`), mude seu diretório para ele (`cd kernel-source-2.4.27/`).

Agora você poderá configurar seu kernel. Execute o comando `make xconfig` caso o X11 esteja instalado, configurado e sendo executado, `make menuconfig` (será necessário o pacote `ncurses-dev` instalado). Leve algum tempo lendo as mensagens de ajuda on-line e selecione as opções cuidadosamente. Quando estiver em dúvida, é melhor incluir o controlador de dispositivo (o programa que gerencia periféricos de hardware, tal como placas Ethernet, controladores SCSI e outras). Benha cuidado: outras opções não relacionadas a hardwares específicos, devem ser deixadas no valor padrão caso não as entenda. Não se esqueça de selecionar a opção "Kernel module loader" em "Loadable module support". (ele não será selecionado por padrão). Caso não estejam incluídos, sua instalação Debian poderá apresentar problemas.

Limpe a árvore de fontes e resete os parâmetros do pacote `kernel-package`. Para fazer isto, execute o comando `make-kpkg clean`.

Agora, compile o kernel: `fakeroot make-kpkg --revision=custom.1.0 kernel_image`. O número de verão "1.0" poderá ser modificado se desejar; este é somente um número de versão que usará para ter controle sobre as construções do seu kernel. De forma parecida, você poderá colocar uma palavra no lugar de "custom" (e.g., um nome de máquina). A compilação do Kernel poderá levar um tempo, dependendo do poder de processamento da sua máquina.

Assim que a compilação estiver concluída, você poderá instalar o kernel personalizado como qualquer pacote. Como root, execute o comando `dpkg -i ../kernel-image-2.4.27-`sub-arquitetura`_custom.1.0_hppa.deb`. A parte `sub-arquitetura` é uma sub-arquitetura opcional, dependendo das opções do kernel que escolheu. O comando `dpkg -i kernel-image...` instalará o kernel, junto com outros arquivos de suporte. Por exemplo, o `System.map` será instalado (útil para depurar problemas no kernel) assim como o `/boot/config-2.4.27` (contendo seu conjunto de configurações do kernel). Seu novo pacote `kernel-image-2.4.27` é também inteligente o bastante para usar automaticamente o gerenciador de partida de sua plataforma para executar uma atualização do setor de partida para que a inicialização ocorra sem problemas. Caso tenha criado um pacote PCMCIA, você precisará instala-lo também.

É hora de reiniciar o sistema: leia cuidadosamente o alerta que o passo acima produziu, então execute o comando `shutdown -r now`.

Para mais informações sobre o `kernel-package`, leia a bela documentação em `/usr/share/doc/kernel-package`.

Anterior | Acima | Próxima
8.3. Leituras Futuras e Informações | Principal | Apêndice A. Howto de Instalação