Subscrever RSS Subscrever RSS
Edição de 31-01-2023
  • Edição Actual
  • Jornal Online

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

    SECÇÃO: Tecnologias


    Compilando um kernel Linux série 2.6 * (II Parte)

    Existe uma configuração padrão para cada tipo de arquitectura de hardware no directório /usr/src/linux/arch. O nome do arquivo é defconfig. Supondo que sua arquitectura de hardware seja i386, a mais comum, faça uma cópia do arquivo defconfig para o directório raiz de compilação com o nome .config assim:

    # cp -f /usr/src/linux/arch/i386/defconfig /usr/src/linux/.config

    Em alguns casos de arquitectura, pode existir um directório configs contendo configurações específicas e testadas para cada modelo de máquina.

    Sendo assim, ao iniciar a ferramenta de configuração, você já terá alguns itens marcados. Não será necessário iniciar do zero uma configuração.

    - Passo IX

    Execute a ferramenta de configuração assim:

    # make menuconfig

    ou

    # make xconfig (modo gráfico)

    Perceba a existência de uma configuração já pré-definida. Isto deve-se ao facto de você ter copiado o arquivo defconfig para o directório raiz de compilação com o nome de config.

    Algumas dicas:

    1) Marque com * itens que serão incorporados ao arquivo do kernel como por exemplo, sistemas de arquivos que você utiliza ou vai utilizar em suas partições.

    2) Marque com m itens que serão criados como módulo, ou seja, serão plugados ao kernel apenas quando houver necessidade de uso.

    Este é um passo demorado e deve ser feito com atenção. Acompanhe o help de cada item para saber o que está incluindo ou não.

    - Passo X

    Após a configuração do kernel, vamos compilá-lo realmente. Para isto, execute o comando:

    # make

    Este passo pode levar minutos ou de um dia para o outro. Depende do poder da máquina onda você vai compilar.

    - Passo XI

    Após a compilação do kernel, vamos instalar os módulos com o seguinte comando:

    # make modules_install

    - Passo XII

    Agora vamos copiar o kernel (bzImage) para o directório /boot. O arquivo está no directório de acordo com a arquitectura que você estiver utilizando. Se você compilou o kernel em um PC, o que é mais comum, então o comando para copiar é o seguinte:

    # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.7-i386-1

    Nomeie os arquivos de acordo com a versão do kernel que está compilando e de acordo com a arquitectura de hardware.

    Agora vamos copiar o arquivo System.map para /boot:

    # cp /usr/src/linux/System.map /boot/System.map-2.6.7-i386-1

    Criando um link simbólico para System.map:

    # ln -sf /boot/System.map-2.6.7-i386-1 /boot/System.map

    Agora vamos copiar o .config para /boot:

    # cp /usr/src/linux/.config /boot/config-2.6.7-i386-1

    - Passo XIII

    Vamos criar um arquivo initrd assim:

    # mkinitrd -o /boot/initrd-2.6.7-i386-1.img 2.6.7-i386-1

    A opção (-o arquivo) diz onde salvar o arquivo initrd gerado.

    A próxima opção de parâmetro é a versão do kernel que você compilou.

    Na verdade, o initrd não é necessário caso você tenha incorporado ao kernel todo a hardware necessário para sua inicialização e o restante que não é necessário para a inicialização como módulo. Ou seja, você não deve configurar como módulo o chipset da sua placa mãe, suporte a IDE e todos os sistemas de arquivos que estiver utilizando, como ext3, jfs, xfs e reiserfs.

    Eu recomendo não utilizar o initrd, pois afinal, este artigo visa criar um kernel específico para a sua máquina.

    O initrd é utilizado mais para kernel’s genéricos que acompanham as distribuições Linux. As distribuições são lançadas com kernel’s genéricos para suportar o maior número de hardware possível. Então tem muita coisa lá que você não precisa. Afinal, você não tem todas as marcas de placa de vídeo, por exemplo, na sua máquina. Não é mesmo?

    - Passo XIV

    Vamos configurar o gerenciador de boot, GRUB ou LILO, qual você utiliza?

    Configuração GRUB (isto é só um exemplo):

    # Note que você não precisa regravar o GRUB no MBR ou partição específica após feitas as alterações.

    boot=/dev/hda

    default=0

    timeout=10

    title Debian GNU/Linux (2.4.25-i386-c4)

    root (hd0,1)

    kernel /boot/vmlinuz-2.4.25-i386-c4 ro root=LABEL=/

    initrd /boot/initrd-2.4.25-i386-c4.img

    title Debian GNU/Linux (2.6.7-i386-1)

    root (hd0,1)

    kernel /boot/vmlinuz-2.6.7-i386-1 ro root=LABEL=/

    initrd /boot/initrd-2.6.7-i386-1.img

    Configuração do LILO (Isto é apenas um exemplo):

    # Note que você precisa regravar o LILO no MBR ou partição específica após feitas as alterações.

    boot=/dev/hda

    map=/boot/map

    install=/boot/boot.b

    default=2.6.7

    lba32

    prompt

    timeout=50

    message=/boot/message

    menu-scheme=wb:bw:wb:bw

    image=/boot/vmlinuz

    label=2.4.25

    root=/dev/hda3

    append=”hdc=ide-scsi”

    read-only

    image=/boot/bzImage-2.6.0

    label=2.6.7

    root=/dev/hda3

    read-only

    Execute lilo para regravar o LILO no MBR.

    # /sbin/lilo

    Não remova a configuração do kernel anterior que estava a funcionar. Ele será útil para inicializar a máquina em caso de alguma falha na inicialização do novo kernel.

    Reinicie a sua máquina e boa sorte!

    Aliás, esta é a única vez actualmente que é necessário reiniciar sua máquina quando seu sistema é Linux.

    Eu disse actualmente pois isto já está em discussão e em desenvolvimento com o pessoal do kernel.

    Num futuro bem próximo, não será necessário reiniciar a sua máquina para executar um novo kernel.

    E falando de hardware, você não mais precisará de reiniciar a sua máquina para trocar uma placa PCI ou até mesmo um processador num sistema de multiprocessadores.

    • Novas versões deste artigo podem ser encontradas na URL abaixo:

    • Suporte com relação a este artigo por e--mail:

    Título: Artigo Compilando um Kernel Linux 2.6

    Envie suas dúvidas para msl@goes.eti.br

    Por: JONAS GOES **

    Nota do Autor: Qualquer correcção neste artigo é só me avisar! Eu agradeço pela leitura.

    * Texto retirado de http://www.goes.eti.br. Adaptação de “A Voz de Ermesinde”.

    ** msl@goes.eti.br

     

    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: webmaster@domdigital.pt.