Como recompilar o Kernel? (debian-like)

Dicas para você dar aquela personalizada no seu BIG LINUX e mais programas interessantes pra você adicionar ao seu sistema.

Moderador: Moderadores

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Como recompilar o Kernel? (debian-like)

Mensagem por andre.also7 » 12 Mai 2009, 23:01

Estava querendo dar uma performance no meu PC e resolvi fazer isto que pra muitos é "dor de cabeça".

Pra ser sincero NUNCA fiz isto antes, mas não achei nada difícil... segui uns passos a passos que fui achando e eis o "how to" aqui completo.

OBS: A versão que eu usei foi no Ubuntu 9.04 (pra testes). No BIG 5.0 ainda estou compilando (enquanto escrevo este artigo).

DOWNLOAD DO KERNEL

No site http://kernel.org/ você terá acesso à última versão do kernel disponível.

Eu utilizei a mesma versão do kernel que estou usando (2.6.28.6), a única coisa que fiz (queria fazer) era deixar ele mais otimizado...

http://kernel.org/pub/linux/kernel/v2.6/

ANTES DE COMPILAR

1- Bom... pelo que testei, se você não tiver alguns pacotes instalados não vai conseguir ir muito longe.
Então faça:

# apt-get update
# apt-get install fakeroot kernel-package bzip2 gcc libncurses5-dev wget


Não se esqueça de fazer os comandos como root!
Para isto você tem três opções:
a) usar o sudo na frente de tudo e colocar a senha
b) usar o sudo su pra se transformar em root
c) sudo -i pra se logar como se estivesse naquela tela de init login

2- Depois disto, vamos criar uns links pro bash!

# mv /bin/sh /bin/sh.old
# ln -s /bin/bash /bin/sh


3- Nesta etapa você já tem que ter "baixado" o seu kernel, então use o comando:

# tar -vzxf linux-2.6.28.6.tar.gz

Lembrando que esta foi a versão que EU baixei, não é a mais nova. Parece que atualmente está no 2.6.29.3...

Baixe ela na sua pasta local mesmo... tipo /home/user/Documentos
(onde user é o nome do seu usuário!!)

4- Vamos ter que mover a pasta pra pasta onde ficam os "sources" (fonte/origem) dos programas, que no caso é no /usr/src/:

# mv /home/user/Documentos/linux-2.6.28.6 /usr/src/

5- Agora vamos entrar na pasta (# cd /usr/src) e criar um link simbólico chamado "linux". Este link irá "chamar" a pasta do nosso kernel!

# ln -s linux-2.6.28.6 linux (só lembrando que 2.6.28.6 é a versão que EU escolhi!)

6- Temos que entrar na "pasta link" (# cd /usr/src/linux ) para salvar as configurações atuais do seu kernel. Isto é bom pois você poderá pegar o que já está no seu kernel e "dar uma melhorada" (tirando ou colocando alguma coisa):

# cp /boot/config-`uname -r` ./.config

7- Agora vem a melhor e mais demorada parte. Você poderá escolher quais opções do kernel ficará instalada (*) ou não ( ). Ainda se quiser, poderá deixar o módulo (M) pré-instalado e então poderá usá-lo quando quiser... Dá um fuçada na internet que achará muita coisa.

Por exemplo, na parte "Processor Type and Features", em "Processor Family" há um suporte para "Opteron/Athlon64/Hammer/K8", na qual eu habilitei!

Digite o comando abaixo pra acessar o menu:

# make menuconfig

Agora você tem duas alternativas:
a) Se você for apenas atualizar um kernel, dê ESC e salve.
b) Caso contrário se for realmente recompilar colocando ou tirando algo, vá até a opção "Load an Alternate Configuration File", dê um OK e escolha o arquivo que a gente salvou anteriormente com nome ".config"

FINALMENTE... COMPILANDO

Chegou a hora de compilar tudo que "setamos"...

# make-kpkg clean

Este comando faz uma pré configuração... e o comando a seguir irá compilar e gerar os "pacotes" personalizados do kernel pro SEU PC.

# fakeroot make-kpkg --initrd --append-to-version=-kernel2.6.28.6 kernel_image kernel_headers

Pode ir tomar um café, ver TV, jogar videogame, ler um livro, ... sei lá. Só num use o PC igual eu fiz que isto irá demorar mais ainda! hehehe
O marinheiro de primeira viagem ficou usando o Firefox, foi no Youtube, estas coisas... E o que normalmente são 50 minutos demorou 1h25min mais ou menos.

INSTALANDO O NOVO KERNEL

Depois de móóó tempão compilando, ele vai gerar dois arquivos .deb

Use o comando pra ir até a pasta /usr/src: # cd /usr/src
E então o comando pra instalar o pacote: # dpkg -i linux-image- você pode escrever isto e depois dar um TAB pra auto-completar!

Instale a versão do mantenedor do pacote!

Depois instale o # dpkg -i linux-headers- (tecla TAB, hehehe)

Feito isto podemos concluir tudo ;)

FINALIZANDO A INSTALAÇÃO

Você deve conferir o seu arquivo do GRUB pra ver se está tudo lá... A versão mais nova e a mais antiga do seu kernel.
Claro que você num vai deixar de conferir, afinal, se ocorrer um KERNEL PANIC você poderá bootar no antigo e recompilar TUDO de novo... hauhauhauha

# gedit /boot/grub/menu.lst (pode ser o kate, kwrite ao invés do gedit)

Termine com um # shutdown -r now e logo após o boot, provável que terá que reinstalar a placa de vídeo pro seu novo kernel.
Pra saber se está tudo OK mesmo, faça o comando uname -r e ele te mostrará a versão do seu kernel :)

THE END!
ANDRÉ LUIZ - ALSO7
[b][url=http://biglinux.com.br/forum/viewtopic.php?p=28465#28465]CONTRIBUIÇÕES QUE FIZ PRO BIG LINUX[/url][/b]
[url=http://biglinux.com.br/forum/viewtopic.php?t=2684][i]"Who do you trust?"[/i][/url]

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Mensagem por andre.also7 » 12 Mai 2009, 23:26

ebaaa!!! bootei direto do novo kernel!

mais rápido e agora ele "enxergou" os meus 4 núcleos de processados do AMD64 Phenon X4!!!

digo que vale a pena heim galera! demora mais vale a pena.

Código: Selecionar todos

[email protected]:~$ uname -r 
2.6.28.6-kernel2.6.28.6
[email protected]:~$ 
hehehe

:D :D

Avatar do usuário
BIGBRUNO
BIG ADMINISTRADOR!
Mensagens: 4731
Registrado em: 24 Jun 2004, 04:20
Localização: DF/Brasil
Contato:

Mensagem por BIGBRUNO » 12 Mai 2009, 23:45

Antes da alteração não funcionavam os 4 núcleos?

Avatar do usuário
34129xt
MESTRE BIG
Mensagens: 2705
Registrado em: 14 Out 2008, 20:19

Mensagem por 34129xt » 13 Mai 2009, 07:34

andre.also7, Fazendo isso, então, ele deve reconhecer os meus quatro giga de RAM? Pois hoje só reconhece 3,25 (big 4.2).

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Mensagem por andre.also7 » 13 Mai 2009, 12:07

BIGBRUNO, não... depois desta alteração que apareceram os 4 núcleos...


34129xt, mesmo setando nesta recompilação (*) 4GB ele só pegou 3, alguma coisa... não foi 4 GB por inteiro.

creio é isto mesmo cara.

tem uma opção de ( ) 64GB, mas acredito que isto não vá aparecer os 4GB ... nem testei, acho q isto num é bom se não tenho tudo isto de memória.

Avatar do usuário
34129xt
MESTRE BIG
Mensagens: 2705
Registrado em: 14 Out 2008, 20:19

Mensagem por 34129xt » 13 Mai 2009, 12:12

andre.also7, Hoje a noite (ou amanhã de manhã) eu eu faço o passo-a-passo e vejo se consigo fazer ele reconhecer a RAM.

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Mensagem por andre.also7 » 13 Mai 2009, 22:23

Engraçado que sempre que estou usando o Firefox e então eu fico "puxando" a barra de rolagem pra baixo de repente do nada (só com ele aberto + compiz + gnome) ele trava do nada!!

Quando volto pro kernel anterior, sem as mudanças padrão 386 - por isso, BIGBRUNO, que ele não reconhece os 4 processadores, mas reconheceu o nome do processador! - isto NÃO acontece...

Outra coisa que percebi foi que não posso abrir várias abas com "vídeos embed flash" (tipo Youtube e outros sites com vídeos online) que o navegador TRAVA também.

TOMARA que isso seja coisa do Firefox... mas é muito ruim isto...

Avatar do usuário
BIGBRUNO
BIG ADMINISTRADOR!
Mensagens: 4731
Registrado em: 24 Jun 2004, 04:20
Localização: DF/Brasil
Contato:

Mensagem por BIGBRUNO » 14 Mai 2009, 03:23

andre.also7, O kernel ser compilado para i386 não deveria evitar que detectasse os 4 núcleos, ao menos os processadores intel são detectados todos os núcleos normalmente.

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Mensagem por andre.also7 » 14 Mai 2009, 07:32

BIGBRUNO, engraçado cara... AMD64 parece que não: apesar de que no outro kernel ele constar só um processador, a velocidade está me parecendo a mesma coisa!

acho que é muito do psicológio vc "oba! recompilei o kernel" e achar que fica mais rápido.

claro, vou fazer mais testes pra comprovar...

obrigado.

Avatar do usuário
34129xt
MESTRE BIG
Mensagens: 2705
Registrado em: 14 Out 2008, 20:19

Mensagem por 34129xt » 14 Mai 2009, 20:52

andre.also7, Cara, quando eu dou o comando "make menuconfig", dá um erro dizendo que falta uma livraria chamada "ncurses", que eu não encontrei em lugar nenhum! Saca só:

# make menuconfig
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: ** [scripts/kconfig/dochecklxdialog] Erro 1
make: ** [menuconfig] Erro 2

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Mensagem por andre.also7 » 14 Mai 2009, 22:05

34129xt, vc instalou os pacotes necesśarios de início!?

vai no Synaptic e veja se tem

libncurses5-dev
libncurses5

ncurses-bin
ncurses-base

talvez não!

Avatar do usuário
34129xt
MESTRE BIG
Mensagens: 2705
Registrado em: 14 Out 2008, 20:19

Mensagem por 34129xt » 15 Mai 2009, 06:55

andre.also7, Antes de mais nada, deixe eu reportar uma coisa estranha que aconteceu. Hoje, quando eu liguei o computador pela primeira vez depois de ter tentado o tutorial, ele parava no bootsplash dizendo: "runing local scripts", e não saía disso. Então, eu pensei que só poderia ser aquele negócio que eu fiz com o /bin/sh, pois foi a única coisa que eu mudei no sistema, e estava dando problema na execução dos scripts. Então, eu fui no Ubuntu e de lá eu vim nesta página do fórum e vi que eu re-nomeei o sh (olha só, eu nem vejo o que o comando faz antes de executar!). Apenas restaurei ele e, para meu espanto, deu quase na mesma. Porém, o que ocorreu foi diferente: Ele iniciou o sistema, mas não o X. Aí eu entrei no modo texto e abri o X na marra, e deu certo (estou usando agora).

Agora, quando eu fui olhar o Synaptic como você pediu, eu vi que tinha um pacote quebrado, qual seja, "lsb-base". Pelo que li ele tem aver com o init e alguns de seus scripts, logo, agora que eu o re-instalei deve voltar a funcionar tudo normal.

Voltando ao assunto, a libncurses5-dev não estava instalada! O resto estava, mas essa não. Depois eu tento (talvez hoje a noite, ou amanhã de manhã) recompilar de novo. :)

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Mensagem por andre.also7 » 15 Mai 2009, 13:25

34129xt, pois eh cara... vivendo e aprendendo.

comigo foi de limpa... já no seu ocorreu isto.
é bom reportar que quem for ler já fica "esperto".

Avatar do usuário
andre.also7
Big Moderador!
Mensagens: 2630
Registrado em: 23 Mai 2008, 15:03
Localização: São Paulo, Interlagos - Brasil
Contato:

Mensagem por andre.also7 » 16 Mai 2009, 10:13

hum! galera... sabe q eu descobri:

> quando trava o meu PC é só realmente o X, pois estava falando com um amigo, ele usava SSH e o serviço continuava de pé pois ele podia acessar o micro e matar o X ...
> isto ocorre por causa da incompatibilidade do drive da NVIDIA e bugs que eles não corrigiram ainda! quando recompilei o kernel, isto fez o módulo gerar mais recursos que o i386 não tem, por isto não trava.

então é isto! enquanto o pessoal da Nvidia não nos ajudar com drivers genéricos... vai ocorrer isto! <o problema é q os drivers deles são proprietários....>

e sobre o multi-processamento dos 4 núcleos... no genérico ele processa tudo ao mesmo tempo nos 4 processadores, e no que recompilei pra arquitetura amd64/athlonX2 - ele reconhece cada um e processa individualmente!

Avatar do usuário
Teixeira
Ajudante BIG
Mensagens: 21
Registrado em: 15 Out 2009, 11:33
Localização: Rio de Janeiro

Mensagem por Teixeira » 25 Out 2009, 23:40

Apenas como ilustração, há muitos anos atrás li um artigo no site da Debian falando sobre o Linux aceitar até seis processadores simultaneos, bastando para isso recompilar o kernel de uma determinada forma.
Naquela época eu não entendia NADA de Linux e portanto não guardei os detalhes.

Trancado

Voltar para “Dicas e Utilidades”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes