Kernel

De ULBwiki

Tabela de conteúdo

Compilação do Kernel

A compilação do kernel é uma prática bastante comum entre usuários avançados, mas isso não significa que é um bicho de 931985724895672345 trilhões de cabeças ao cubo. Em verdade, é uma ação bem simples, bastando prestar atenção no que se está fazendo. Irei explicar, passo-à-passo e com imagens, as partes mais importantes da compilação.

Por que fazer?

Por padrão, o kernel vem com muitas coisas inúteis habilitadas, o que pode influenciar na perfomance (se achou o Ubuntu rápido, imagine ele ainda mais rápido). Mas ai você me pergunta: "Por que diabos ele vem com tanto "lixo" habilitado?" . A resposta é simples: a distribuição precisa ser genérica, ou seja, precisa funcionar no máximo de computadores, com as mais diferentes configurações de hardware. "Mas a compilação vai deixar meu sistema 1000 vezes mais rápido?" . Veja bem, não é bem assim.O kernel é responsável por cerca de 4% da perfomance geral de uma máquina Linux. Seu sistema não ficará ultra-mega-hyper-super-master-gold-plus-pro-advanced rápido, mas não deixa de contar como uma experiência, pois você irá adquirir bastante conhecimento do sistema e ainda dar uma limpa na perfomance.

Vamos agora pra parte que realmente interessa.

Baixando os pacotes necessários

Vamos aos downloads.

Fonte do Kernel

Esse é o principal. è ele que contém todos os headers do kernel, ou seja, é o fonte do kernel. Você pode obter tal fonte no site oficial do Kernel Linux Quando escrevi este artigo, a última versão era a 2.6.25 Primeiramente, faça o download do pacote e o salve em seu Desktop. Após isto, execute o seguinte comando (logado como root):

cp /home/seuusuário/Desktop/linux-[aperte tab] /usr/src

navegue até o diretório /usr/src

cd /usr/src

e extraia o arquivo

tar xfv linux-[tab duaz vezes]

Obs.: Lembre-se de escolher o pacote .bz2 ou .gz

Agora, criemos um link simbólico para facilitar nossa vida:

ln -s /usr/src/linux-[versao que baixou] /usr/src/linux

Pronto. Agora entre no diretório do fonte:

cd /usr/src/linux

Pacotes necessários

Execute o seguinte comando:

sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot wget bzip2

Configurando o Kernel

Imagem:important.png Importante: Esta é a parte onde você deve prestar mais atenção, pois aqui você define tudo que terá em seu kernel. À partir de agora, todos os comandos devem ser executados como root. Vamos à guerra.

Nota: Para uma explicação mais detalhada, visite aqui

Assegure-se da integridade do fonte:

 make mrproper 

Após verificada a integridade, vamos copiar a configuração antiga para facilitar o trabalho. Note que este passo é opicional, voltado apenas para usuários iniciantes. Se você for um usuário mais avançado ou um iniciante que quer se aventurar, pode pular este passo.

 zcat /proc/config.gz > .config 

Caso o acesso a configuração via /proc esteja desabilitado (você pode checar isto verificando se existe o arquivo /proc/config.gz. Em caso positivo, está habilitado), você pode copiar a config pelo diretório /boot da seguinte forma, no source do kernel:

cp /boot/config-$(uname -r) .config


Aplique as novidades da nova versão no .config antigo:

 make oldconfig

Agora, a parte da compilação de verdade:

 make menuconfig

Obs.: Você pode realizar a configuração graficamente, trocando por menuconfig por gconfig (GTK/Gnome) ou xconfig (QT/KDE) Você verá uma tela como esta:

Imagem:menuconfig.png

Selecione Load an Alternate Configuration File e aperte espaço

Imagem:loadoldconfig.png

Agora, selecione General Setup e aperte espaço

Imagem:generalsetup.png

Em Local Version, coloque o nome que você quer dar para sua versão. Aqui eu coloquei KAMUS_HADENES [1]. Não mexa em mais nada, aperte Esc 2 vezes para voltar.

Agora entre em Enable the block layer apertando ENTER. Voce deverá ver uma tela como esta:

Imagem:blocklayer.png

Navegue até IO Schedulers e deixe assim:

Imagem:iosch.png

Não mexa em mais nada, volte para o menu principal apertando ESC 4 vezes. Entre em Processor Type and Features, selecione Processor family e aperte ENTER. Aqui você deverá escolher o seu processador. Esta parte é uma das grandes responsáveis pelo desempenho.

Imagem:processorfamily.png

Agora, vá até Timer Frequency e selecione 1000 HZ

Imagem:timerfreq.png

Pronto, a maior parte já está feita. Siga [este link] para uma compilação mais à fundo. Depois de tudo, aperte ESC até ele perguntar se é para salvar ou não. Responda com YES.

Imagem:kconfirm.png

Depois de configurar tudo, vamos compilar.

Compilando

make-kpkg clean
 make-kpkg -initrd kernel_image kernel_headers modules_image

Este processo irá levar bastante tempo, dependendo da sua configuração pode levar horas. Quando acabar, navegue até /usr/src e execute o seguinte comando:

dpkg -i *.deb

Pronto, seu novo kernel está instalado e pronto para ser usado. Para testar, reinicie o sistema. Caso dê algum erro, é só selecionar o kernel antigo no GRUB.

Notas:


Créditos:

Kamus Hadenes
José Lopes de Oliveira Júnior
Ferramentas pessoais
Criar página