Compilando corretamente o kernel 2.4.x no Slackware

Publicado por Raid Zero em 29/03/2006

[ Hits: 9.192 ]

 


Compilando corretamente o kernel 2.4.x no Slackware



Essa dica vem do meu blog:
Em minha primeira postagem, gostaria de falar sobre 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 do "The Revised Slackware Book Project", cuja a autoria é de 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 levantada por usuários novos. A resposta é definitivamente "talvez". Há poucos exemplos onde você precisará compilar um kernel específico para o seu sistema. Muitos usuários podem usar um kernel pre-compilado 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.

Construir seu próprio kernel não é uma tarefa difícil. O primeiro passo é se certificar de que os fontes estão 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:

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 (você deve fazer um backup do seu .config atual, pois será removido sem aviso prévio).

# make mrproper

Agora você pode configurar o kernel para o seu sistema. As três maneiras de se fazer isso são: primeiro, baseado em texto com perguntas e respostas, muito demorado. Fará várias perguntas e depois criará um arquivo de configuração. O problema é que, além de ser lento, se houver algum erro você terá de começar tudo de novo. 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 convier:

# make config (modo texto baseado em perguntas e respostas)
# make menuconfig (modo texto baseado em menus)
# make xconfig (modo X-Window, certifique-se de estar no X antes de usar esta opção)

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 define os arquivos de 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 da sua 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.

Outras dicas deste autor

USB sem mistérios

Leitura recomendada

Como remover versões antigas do kernel

Slackware com kernel 3.10 - Erro com driver NVidia [Resolvido]

Compilando kernel 3.0.4 no Debian Squeeze com processador de 2 núcleos

Metasys - Informações complementares

Ativando speaker no Fedora Core 4

  

Comentários
[1] Comentário enviado por maquino em 30/03/2006 - 14:09h

E se eu quiser compilar um driver vital (por ex. o de uma controladora scsi) no kernel? estou dizendo isso pq ai não tenho nada instalado vou copiar para onde? ai como é que se faz?

[2] Comentário enviado por jllitvay em 31/03/2006 - 08:31h

basta voce habilitar os driver. Na configuração do kernel pelo make menuconfig, ele mostra todos os hardwares suportados NATIVOS no linux. Basta habilitar o driver como módulo a ser carregado ou incluir o driver no kernel.

[3] Comentário enviado por RaiD_Zer0 em 06/04/2006 - 11:00h

Isso mesmo! Eu não me atentei para o detalhe configurativo do kenel propriamente dito, somente a configuração ideal, ou seja, o procedimento ideal de instalação do kernel...

[4] Comentário enviado por JuNiOx em 06/04/2006 - 11:48h

achei curioso a forma que usou para copiar o arquivo (cat arch/i386/boot/bzImage > /vmlinuz ao invés de um cp) mas enfim, como faria pra pegar a configuração atual do meu kernel na hora de compilar um novo?

tipo, instalei meu linux, tá tudo funcionando, só quero ativar o suporte a 4gb de RAM... porém, se eu baixar o kernel e fazer tudo como fez.. vai estar tudo "zerado" e não vai restaurar o conteúdo atual...

outra, o nome dele tem que ser NECESSARIAMENTE vmlinuz ou bzImage ou pode ser qualquer um?

[5] Comentário enviado por alexandrecorrea em 20/09/2006 - 05:23h

nao tenho certeza.. mas:


nao existe o make modules_install (isso eh do 2.6)


acho que no lugar do make modules_install seria make install

testei no 2.4.31 do slack.. o make install funcionou...


fora isso, parabens pelo artigo..

[6] Comentário enviado por RaiD_Zer0 em 20/09/2006 - 12:43h

Realmente vc não tem certeza!
:-)



Contribuir com comentário