Subscrever RSS Subscrever RSS
Edição de 31-03-2024
  • Edição Actual
  • Jornal Online

    Arquivo: Edição de 15-06-2007

    SECÇÃO: Tecnologias


    Compilando um kernel Linux série 2.6 (I Parte)

    Por que [razão] recompilar o kernel ?

    A primeira intenção é optimizar o kernel para o seu hardware, a fim de melhorar a performance e suportar todos os dispositivos.

    Você também pode querer actualizar o sistema obtendo suporte a novos recursos e dispositivos de hardware.

    Ou você pode querer livrar-se de bugs.

    O que é o kernel?

    O kernel Linux é o centro do sistema operativo. A parte do sistema responsável pelo gerenciamento de baixo nível do hardware e software.

    Quais são os requerimentos mínimos de hardware?

    Isso varia muito de acordo com a arquitectura e a versão do kernel. Mas tenha em mente o seguinte para ter um sistema mínimo funcional:

    16MB de RAM (memória física), 100MHz de relógio de processamento e 100MB de espaço em disco (memória virtual).

    Mas como sei o que tenho de hardware?

    Execute o comando:

    lspci ou

    lspci -vvv ou

    cat /proc/pci

    Mas que processador tenho, qual é o clock, qual é a arquitectura?

    Execute o comando:

    cat /proc/cpuinfo

    Que arquitecturas são suportadas?

    Para saber isso, basta você fazer listar o conteúdo do directório /usr/src/linux/arch.

    Veja lá a listagem para a versão do kernel 2.6.7:

    alpha

    arm

    arm26

    cris

    h8300

    i386

    ia64

    m68k

    m68knommu

    mips

    parisc

    ppc

    ppc64

    s390sh

    sparc

    sparc64

    um

    v850

    x86_64

    O seu caso, muito provavelmente deve ser a arquitectura i386, que é a mais comum do mundo dos PC’s.

    Outra arquitectura muito comum é a PPC (PowerPC), os famosos computadores da Apple.

    Sim, o Linux pode ser instalado em um computador da Apple ;).

    Você tem aí uma playstation II? Então instale o Linux nela!

    Qual a quantidade de memória que tenho?

    Execute o comando:

    cat /proc/meminfo

    Quais são os softwares mínimos que devem estar instalados para executar o kernel?

    Veja o Passo VII.

    O kernel Linux é Software Livre?

    Sim! É Software Livre porque cumpre com os quatro direitos da GPL (General Public License). Veja só:

    - O direito de cópia: Sim, você pode fazer cópias ou downloads do kernel livremente.

    - O direito de estudo: Sim, você pode baixar o código fonte do kernel em http://www.kernel.org e estudá-lo.

    - O direito de modificação: Sim, você pode modificar o código fonte do kernel e enviar as suas modificações às pessoas responsáveis.

    - O direito de redistribuição: Sim, você pode redistribuir livremente o kernel.

    Mãos à obra

    - Passo I

    Baixe o pacote que contém o código fonte mais actualizado do kernel Linux da série 2.6 no website.

    Abrindo a página no navegador web, clique no link F para fazer o download do pacote que contém os fontes.

    Você também poderá fazer o download com o comando wget como no exemplo abaixo:

    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.bz2

    - Passo II

    Como superutilizador (faça o login no sistema como root), descompacte e desempacote o arquivo assim:

    tar xjvf linux-2.6.7.tar.bz2 -C /usr/src

    - Passo III

    Crie o link simbólico /usr/src/linux apontando para /usr/src/linux-2.6.7 assim:

    ln -sf /usr/src/linux-2.6.7 /usr/src/linux

    - Passo IV

    Acesse /usr/src/linux assim:

    cd /usr/src/linux

    Este será o directório raiz de compilação, ou seja, o directório base para os passos seguintes.

    - Passo V

    Caso você já tenha compilado o kernel anteriormente, execute o comando ‘make mrproper’ para retornar ao padrão os arquivos de configuração do kernel.

    make mrproper

    - Passo VI

    Edite o arquivo Makefile para personalizar a versão de sua compilação.

    Altere a variável EXTRAVERSION na quarta linha para um valor que deseje como por exemplo -i386-1.

    Salve este arquivo.

    VERSION = 2

    PATCHLEVEL = 6

    SUBLEVEL = 7

    EXTRAVERSION = -i386-1

    - Passo VII

    O arquivo /usr/src/linux/Documentation/Changes contém uma lista do software mínimo que deve estar correctamente instalado na máquina antes de iniciar a compilação.

    Não inicie a compilação do kernel sem antes obtiver a certeza de que o mínimo de software está instalado.

    Existe um script que pode auxiliar nisto. O script /usr/src/linux/scripts/ver_linux imprime na tela uma lista do software mínimo e suas respectivas versões que estão instalados na máquina. Compare esta lista com a lista oferecida pelo documento /usr/src/linux/Documentation/Changes. Para executar este script, faça assim:

    sh scripts/ver_linux

    Eis a lista de software mínimo requerido para um kernel da série 2.6 poder funcionar:

    Gnu C 2.95.3 # gcc —version

    Gnu make 3.79.1 # make —version

    binutils 2.12 # ld -v

    util-linux 2.10o # fdformat —version

    module-init-tools 0.9.10 # depmod -V

    e2fsprogs 1.29 # tune2fs

    jfsutils 1.1.3 # fsck.jfs -V

    reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs

    xfsprogs 2.6.0 # xfs_db -V

    pcmcia-cs 3.1.21 # cardmgr -V

    quota-tools 3.09 # quota -V

    PPP 2.4.0 # pppd —version

    isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version

    nfs-utils 1.0.5 # showmount —version

    procps 3.2.0 # ps —version

    oprofile 0.5.3 # oprofiled —version.

    Nem tudo na lista acima é obrigatório. Será obrigatório ter os itens instalados da lista acima apenas aqueles que o kernel que você está configurando suportar.

    Por exemplo, se você não configurou o suporte a isdn, não é necessário ter instalado na sua máquina o software isdn4k-utils para poder compilar e executar o kernel.

    - Passo VIII

    O arquivo /usr/src/linux/.config armazena a configuração do kernel. Basicamente, este arquivo descreve o que deverá ser incorporado ao kernel (y) e o que deverá ser criado como módulo (m). Incorpore ao kernel apenas o necessário. O restante necessário, configure como módulo. O que não for necessário, retire. Por exemplo, se você não tem dispositivos pcmcia em sua máquina, retire da configuração o suporte a pcmcia. Isto possibilita uma maior performance por parte do sistema.

    O kernel Linux pode ser modular, ou seja, o suporte básico fica incorporado ao kernel constantemente e o suporte a outros dispositivos, como por exemplo, uma placa de som, pode ser configurado como módulo. Assim sendo, este módulo da placa de som é carregado na memória e plugado ao kernel apenas quando for necessário, ou seja, apenas quando o utilizador estiver utilizando som no sistema.

    Isto optimiza o sistema, utilizando seus recursos sabiamente.

    Texto adaptado por “A Voz de Ermesinde”.

    Por: Jonas Goes

     

    Outras Notícias

    · A memória do rato

     

    este espaço pode ser seu Este espaço pode ser seu Este espaço pode ser seu
    © 2005 A Voz de Ermesinde - Produzido por ardina.com, um produto da Dom Digital.
    Comentários sobre o site: [email protected].