Compilando um Kernel linux

Baixe o pacote que contém o código fonte mais atualizado do kernel Linux da série 2.6 em http://www.kernel.org
Abrindo a página no navegador web, clique no link F para fazer o download do pacote que contém os fontes.

Como superusuário (faça o login no sistema com o usuário root), descompacte e desempacote o arquivo assim:
# tar xjvf linux-2.6.34.1.tar.bz2 -C /usr/src

Crie o link simbólico /usr/src/linux apontando para /usr/src/linux-2.6.34.1 assim:
# ln -sf /usr/src/linux-2.6.34.1 /usr/src/linux

Acesse /usr/src/linux assim:
# cd /usr/src/linux
Este será o diretório base para os passos seguintes.

Execute a ferramenta de configuração assim:
# make menuconfig
ou
# make xconfig

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.

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

Agora vamos copiar o kernel (bzImage) para o diretório /boot. O arquivo está no diretório de acordo com a arquitetura 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.34.1-i386-1
Nomeie os arquivos de acordo com a versão do kernel que está compilando e de acordo com a arquitetura de hardware.

Agora vamos copiar o arquivo System.map para /boot:
# cp /usr/src/linux/System.map /boot/System.map-2.6.34.1-i386-1

Criando um link simbólico para System.map:
# ln -sf /boot/System.map-2.6.34.1-i386-1 /boot/System.map

Agora vamos copiar o .config para /boot:
# cp /usr/src/linux/.config /boot/config-2.6.34.1-i386-1

Vamos criar um arquivo initrd:
# mkinitrd -o /boot/initrd-2.6.34.1-i386-1.img 2.6.34.1-i386-1

Vamos configurar agora o gerenciador de boot para usar esse novo kernel. É importante que você mantenha a versão antiga do kernel intocada para poder inicializar o linux em caso de erros no kernel novo.
Se você usa o LILO, edite o arquivo /etc/lilo.conf com o seu editor de textos preferido.
Saiba qual a partição onde seu linux está instalado. É algo como /dev/hdax, onde x é um número. Olhe no lilo.conf na parte referente ao outro kernel e use a mesma partição na nova configuração. Vou usar /dev/hda2 como referência:

A configuração ficará assim:
image /boot/vmlinuz-2.6.34.1
    root=/dev/hda2
    label=Linux-2.6.34.1
    read-only

Salve o arquivo e execute o comando /sbin/lilo para gravar a nova configuração
[root@host] # /sbin/lilo

Se o seu gerenciador de boot é o GRUB, edite o arquivo /boot/grub/grub.conf ou /boot/grub/menu.lst. Veja qual a partição onde seu linux está instalado. O GRUB usa uma configuração um pouco diferente, do tipo (hdx,y), onde x é a interface IDE e o y é o numero da partição. Neste caso /dev/hda2 = (hd0,1). Vou usar /dev/hda2 como exemplo mas lembre-se de trocar para a partição que você usa.

A entrada no arquivo ficará assim:

title Linux-2.6.34.1

root (hd0,1)

kernel /boot/vmlinuz-2.6.34.1 root=/dev/hda2 ro

Salve o arquivo e pronto. O GRUB nao necessita que seja rodado nenhum comando apos a alteração.

Qualquer sugestão para o melhoramento do tutorial deixe seu comentário.

0 comentários:

Postar um comentário