Compilando o Kernel no Ubuntu


Compilando o kernel no Ubuntu Linux

Do que vale possuirmos um sistema livre no maior sentido da palavra e não podermos usufrir de um dos pré-requisitos mais valiosos que existe na GPL que é a liberdade de adaptar o código fonte de um programa de acordo com nossas necessidades.
Este artigo irá ajudar você a adaptar o kernel do linux as suas necessidades.
Inicialmente vamos alterar o link do shell padrão para o /bin/sh já que por default ele aponta para /bin/dash
sudo rm -f /bin/sh
sudo ln -s /bin/bash /bin/sh
Instale os pacotes necessários para a compilação do kernel
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
Baixe a fonte do kernel e o patch para o vserver
cd /usr/src
sudo wget http://www.kernel.org/pub/linux/kern...6.18.2.tar.bz2
sudo wget http://www.13thfloor.at/vserver/d_re...2.1.1.diff.bz2
Descompate o arquivo e crie um link para o diretório linux
sudo tar xjf linux-2.6.18.2.tar.bz2
sudo ln -s linux-2.6.18.2 linux
cd /usr/src/linux
Aplique o patch para habilitar o uso do vserver no kernel. O primeiro comando irá simular a aplicação do patch, não havendo nenhum erro use o segundo comando.
sudo bzip2 -dc /usr/src/patch-2.6.18.2-vs2.1.1.diff.bz2 | patch -p1 –dry-run
sudo bzip2 -dc /usr/src/patch-2.6.18.2-vs2.1.1.diff.bz2 | patch -p1
Aproveite a configuração do kernel atual como base para o nosso kernel customizado
sudo cp /boot/config-`uname -r` ./.config
Agora inicie o menu de configuração do kernel
make menuconfig
No menu acesse a opção Load an Alternate Configuration File e pressione OK, para escolher o arquivo com a atual configuração do kernel
Navegue nas opções do kernel e escolha as configurações desejadas.
Eu por exemplo modifiquei os seguintes itens:
Processador de 486 para Athlon
Desabilitei o suporte a:
- Firewire
- Pcmcia
- MCA
- EISA
- ISA
- Drivers de placas de rede 10000/1000 e WAN
- Telefonia
- Fibra
- RAID
- Kernel Hacking
Após fazer as alterações desejadas salve e saia
Vamos agora compilar e instalar o novo kernel. Após o –append-to-version você pode adiconar seu nome ou qualquer string que facilite a identificação, por exemplo eu escolhi alex.
sudo make-kpkg clean
sudo fakeroot make-kpkg –initrd –append-to-version=-alex kernel_image kernel_headers
Agora vá tomar um banho, tomar café, ler a wiki page do Time de Documentação por que o processo demora.
Se não surgir nenhum erro 2 ( dois ) arquivos serão criados no diretório /usr/src
cd /usr/src
ls -l
linux-headers-2.6.18.2-vs2.1.1-alex_2.6.18.2-vs2.1.1-alex-10.00.Custom_i386.deb
linux-image-2.6.18.2-vs2.1.1-alex_2.6.18.2-vs2.1.1-alex-10.00.Custom_i386.deb
Agora só precisamos instalar os pacotes .deb com o velho e bom dpkg
sudo dpkg -i linux-headers-2.6.18.2-vs2.1.1-alex_2.6.18.2-vs2.1.1-alex-10.00.Custom_i386.deb
sudo dpkg -i linux-image-2.6.18.2-vs2.1.1-alex_2.6.18.2-vs2.1.1-alex-10.00.Custom_i386.deb
Ao finalizar a instalação dos pacotes reinicie o micro
sudo shutdown -r now
Após a inicialização confirme o kernel que está em execução
uname -r
2.6.18.2-vs2.1.1-alex
Pronto agora você está rodando um kernel customizado para sua arquitetura.



Fonte:
http://penguim.wordpress.com/2006/11/14/compilando-o-kernel-no-ubuntu-linux/
http://www.guiadohardware.net/comunidade/dicas-ubuntu/809914/
Comments