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
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:
Selecione Load an Alternate Configuration File e aperte espaço
Agora, selecione General Setup e aperte espaço
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:
Navegue até IO Schedulers e deixe assim:
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.
Agora, vá até Timer Frequency e selecione 1000 HZ
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.
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 *.debPronto, 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










