sábado, março 04, 2006

Compilando Kernel 2.4.x

Em minha primeira postagem, gostaria de estar colocando algo bastante interessante e que fascina a todos, que é a COMPILAÇÃO do Kernel. Esse texto é uma tradução adaptada de um trecho que trata sobre compilação em sistemas linux de o "The Revised Slackware Book Project" cuja a autoria é Alan Hicks, Chris Lumens, David Cantrell e Logan Johnson.
Com singelas adaptações minhas...

A questão "Devo compilar um kernel para meu sistema?" é geralmente a perguntada por usuários novos. A resposta é definitivamente tavez. Há poucos exemplos onde você precisará compilar um kernel específico para o seu sistema. Muitos usuário podem usar um kernel precompilado e seus respectivos módulos para ativar um sistema - no caso do Slackware Linux. Isto é, num sistema com SMP você definitivamente vai querer compilar um kernel com suporte a SMP. Também, muitos usuários acreditam que um kernel customizado "roda" mais rápido em suas máquinas. Você pode achar útil compilar um kernel otimizado para seu processador especificamente falando.
Construiu seu próprio kernel não é uma tarefa difícil. O primeiro passo é se certificar de que os fontes instalados em seu sistema. Certifique-se de que você tem instalado em seu sistema um compilador C, GNU make e o GNU binutils. Geralmente, e para evitar qualquer problema, uma boa idéia ter todo o pacote de desenvolvimento. Você pode fazer o download da última versão do kernel de http://www.kernel.org/mirrors

Compilação do Kernel versão 2.4.x

% su -
Password:
# cd /usr/src/linux

O primeiro passo é trazer a fonte do kernel para dentro de sua base. Emitimos esse comando para fazer isso (Nota, você deve fazer um backup do seu .config atual, pois será removido sem haviso prévio).

# make mrproper

Agora você pode configurar o kernel para o seu sistema. As três maneiras de se fazer isso é: a primeira é baseado em texto com perguntas e resposta, muito demorado. Fará várias perguntas e depois criará um arquivo de configuração. O problema, além de ser lento, é que se houver algum erro, tem de começar tudo denovo. O método que a maioria das pessoas preferem é o menu. Por último, há um método baseado numa ferramena de configuração do X. Escolha a que melhor convir:

# make config (text-based Q&A version)
# make menuconfig (menu driven, text-based version)
# make xconfig (X-based version, make sure you are in X first)

Usuários novos poderão achar o menuconfig provavelmente o mais fácil de usar. Telas de ajuda provêem explicações sobre as várias partes da compilação do kernel. Depois de configurar seu kernel, saia do programa de configuração. Ele definir os arquivos configuração necessários. Agora nós podemos preparar a árvore de fontes para a construção.

# make dep
# make clean

O próximo passo é compilar o kernel.

# make bzImage

Isso pode demorar um pouco dependendo da velocidade do seu CPU. Durante o processo, você verá inúmeras mensagens do compilador. Depois de compilar a imagem do kernel, você irá compilar as várias partes do kernel que você definiu como modulares.
# make modules

Nós agora podemos instalar o kernel e os módulos que foram compilados. Para instalar o kernel num Linux, por exemplo, no Slackware, serão necessários estes comandos:

# mv /boot/vmlinuz /boot/vmlinuz.old
# cat arch/i386/boot/bzImage > /vmlinuz *(ou /boot/vmlinuz, não importa)
# mv /boot/System.map /boot/System.map.old
# cp System.map /boot/System.map
# make modules_install

Após você deverá editar o seu Boot Loader favorito para que ele "carregue" o sistema

Um comentário:

Valdomiro Halvei Barcellos disse...

Tecnologias de ponta possibilitarão a comunicação por meios mais diretos e acessíveis aos nossos sentidos. Parabens!