Início > Sem-categoria > Kernel 2.6.28.9-omnislash5 – Compilando e Instalando um kernel otimizado no seu KUXbuntu ou Debian

Kernel 2.6.28.9-omnislash5 – Compilando e Instalando um kernel otimizado no seu KUXbuntu ou Debian

Passo-a-passo geral

1 – Em primeiro lugar vire o root e baixe as bibliotecas de compilação mais alguns utilitários

$su (depois digite a senha do root)

#aptitude install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev

2 – Agora baixe a versão 2.6.28 do kernel vanilla e o patch omnislash e a configuração para o kernel

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2

http://rapidshare.com/files/216180674/omnislash.bz2

http://rapidshare.com/files/225797545/config-2.6.28.9-omnislash5

3 – Verifique a integridade do arquivo abrindo um novo terminal e digitando o seguinte comando

$md5sum linux-2.6.28.tar.bz2

Veja se o resultado dos números é igual a esse:
d351e44709c9810b85e29b877f50968a linux-2.6.28.tar.bz2

$md5sum omnislash.bz2

Veja se o resultado dos números é igual a esse:
4114fe66a3c47e8248496e075302318f  omnislash.bz2

$md5sum config-2.6.28.9-omnislash

Veja se o resultado dos números é igual a esse:
9d407542fe809279c101663a4547c06d  config-2.6.28.9-omnislash5

Copie o arquivo baixado para /usr/src para isso digite os comandos abaixo:

$su (depois digite a senha do root)

#cp linux-2.6.28.tar.bz2 /usr/src

#cp omnislash.bz2 /usr/src

#cp cfg /usr/src

Descompactação e link simbólico

#cd /usr/src

#tar -xvjf linux-2.6.28.tar.bz2

#chmod -R a-s /usr/src/linux-2.6.28 (possivelmente será necessário usar esse comando em distribuições baseadas no debian)

#rm -rf linux && ln -s /usr/src/linux-2.6.28 linux

#cp omnislash.bz2 /usr/src/linux

#cp cfg /usr/src/linux

#cd /usr/src/linux

Arquivo de Configuração otimizada

Dessa forma o kernel usará a minha configuração otimizada (32 bits) e isso resultará na ativação de diversas partes do kernel e todos os patches que coloquei. Se você não usá-la terá um trabalho enorme para ativar tudo.

#bzcat omnislash.bz2 |patch -p1

#cp /usr/src/linux-2.6.28/config-2.6.28.9-omnislash5 .config && make xconfig

Caso o comando não funcione tente o seguinte:

#cp /usr/src/linux-2.6.28/config-2.6.28.9-omnislash5 .config && make menuconfig

Customização do kernel

Chegamos ao ponto de escolher o que queremos no nosso kernel, para que ele se adapte as nossas necessidades, seja um desktop, servidor ou um laptop. Se vc sabe o que está fazendo fique a vontade, explore e customize. A configuração está com o foco em desktops por isso talvez nem seja necessário mexer.

Desktop

Em “Processor type and features”:

- Processor family Choose the model of your processor

Escolha o modelo do seu processador. Na configuração eu escolhi o i686 e é o que uso no meu X2 e gosto do resultado. Porém escolha outra específica para o seu processador.

Ele já está configurado para desktop então deixe as configuração como estão.

Laptop

A escolha para o processador também é útil porém é interessante diminuir o Timer frequency

-Timer frequency
–250 Hz (ou menos)

-Preemption Model
–Voluntary Kernel Preemption (Desktop)

Motivo??? Quanto maior o timer frequency menor a autonomia do laptop quando está sob uso da bateria.

Servidor

Dependendo do servidor o melhor é colocar o timer frequency no mínimo e sem preempção pois assim ele suporta mais requisições

A escolha para o processador também é útil porém diminua mais ainda o Timer frequency

-Timer frequency
–100 Hz

-Preemption Model
–Preempt None

Depois das alterações salve o arquivo e agora vamos para o próximo passo

Compilação do kernel

Digite os seguintes comandos

#make-kpkg clean

#make-kpkg –initrd –revision=686 kernel_image kernel_headers modules_image

Caso seja um dual ou quad core use o comando abaixo para acelerar a compilação

#CONCURRENCY_LEVEL=2 make-kpkg –initrd –revision=i686 kernel_image kernel_headers modules_image

Obs.: Lembrando que são dois traços antes de initrd e antes de revision e NÃO um apenas.

E agora é só esperar… até compilar e criar um deb. O tempo de compilação varia de 40m a 4horas.

E por último para instalar.

#cd .. && dpkg -i linux*2.6.28*.deb

Ativando o compcache (contribuição do usuário DiamondMax)

Para ativá-lo:

Nas distribuições baseada no debian como o Ubuntu, digite num terminal:

#nano /etc/init.d/bootmisc.sh

Adicione ao final do arquivo:

modprobe ramzswap

e

swapon /dev/ramzswap0 -p 100

Isso fará com que o Compcache e o Xvmalloc sejam carregados durante o boot.

Reinicie o sistema.

Verifique se a ramzswap está ativada:

cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sda4                               partition       979956  0       -1
/dev/ramzswap0                          partition       112272  0       100

cat /proc/ramzswap
DiskSize:         112276 kB
NumReads:             20
NumWrites:             0
FailedReads:           0
FailedWrites:          0
InvalidIO:             0
PagesDiscard:          0
ZeroPages:             0
GoodCompress:          0 %
NoCompress:            0 %
PagesStored:           0
PagesUsed:             0
OrigDataSize:          0 kB
ComprDataSize:         0 kB
MemUsedTotal:          0 kB

Agora quando o sistema começar a usar a swap, o compcache irá comprimir e armazenar os dados na própria RAM! Observe que a ramzswap0 tem o nível de prioridade maior do que a swap do HD. Isso significa que a primeira memória virtual utilizada será a da RAM e assim que ela estiver totalmente preenchida, o sistema passará a utilizar a memória virtual do HD.

Dê o boot e desfrute do novo kernel…

O projeto Omnislash é GNU/GPL…

Gostaria de agradecer aos usuários DiamondMax, DJ, Gatohumano, Violencia.com, Freud.jr, Buli e todos os amigos que apoiam e ajudam o omnislash!! Valeu Pessoal!!

Abraços

Hqx

CategoriasSem-categoria
  1. Diogo
    Outubro 24, 2008 às 8:22 pm | #1

    Olá, eu gostaria de tirar uma dúvida a respeito do seu kernel para o meu PC desktop. Na parte “Arquivo de Configuração otimizada”, a sua otimização está para 32 bits, mas o meu processador é de 64 bits (core 2 duo). Se eu quiser usar a sua otimização para ativar diversas partes do kernel e todos os patches que colocou para o meu processador (64 bits), só basta escolher o modelo do meu processador na parte “Processor type and features”? ou terei que modificar mais alguma coisa?

    Um abraço!!

  2. elias
    Outubro 29, 2008 às 9:01 pm | #2

    Olá, ótimo artigo.
    Poderia indicar os links ou disponiblizar os patches usados?
    Eu quero compilar o kernel e escolher quais patches aplicar.

    Obrigado.

  3. kcnp
    Outubro 31, 2008 às 2:39 am | #3

    Cara eu tenho um Intel Celeron D Processor. Você me aconselha utilizar a a opção K8 em “Processor type and features”? Se não qual a melhor pro meu processador?

  4. Ícaro
    Novembro 4, 2008 às 5:07 pm | #4

    Cara, me responde uma coisa por favor.
    Num kernel teu mais antigo um pouco(acho que 1 mês atrás) eu instalei no meu ubuntu, mas os efeitos do gnome pararam de funcionar. Até instalei uns drivers novos da nvidia pelo envy mas não consegui ativar os efeitos.
    Isso tá acontecendo com esse 2.6.27.3.1(deste post) também?

    Obrigado e continua o bom trabalho.

  5. Alexandre Santos
    Novembro 6, 2008 às 6:30 pm | #5

    Excelente artigo,

    só peco e um único aspécto.

    Você fez ele voltado apenas para o Debian, eu to fazendo a compilação dele aqui no meu slackware e me senti afastado dessa comunidade.

    O interessante seria criar um artigo bem genérico (para poder ser aproveitado em todas as distribuições) e depois você cria um voltado para o debian e etc.

    Excelente Trabalho.

  6. Novembro 20, 2008 às 4:55 pm | #6

    Seria ótimo se as distribuições trocassem mais informações acerta das otimizações, que projetos como o seu sejam mais divulgados e reconhecidos, eu fiz minha parte postando no meu blog:

    http://vivaotux.blogspot.com/2008/11/projeto-de-otimizao-do-kernel.html

  7. Dezembro 11, 2008 às 7:59 pm | #7

    Ola! Acho muito válida a sua iniciativa, entretanto concordo com um amigo acima… Você poderia colocar a fonte de todos os patches q você usou? Eu gostaria de ter a liberdade de instalar os patches que eu quizer no meu Slackware.

    Do jeito que você coloca, me prende ao seu projeto e seguindo a GNU/GPL eu teria que ter acesso aos fontes né? Me corrija se estiver errado…

    Ajuda ai…. No mais, ótima iniciativa.

    Até

  8. hqxriven
    Dezembro 11, 2008 às 11:04 pm | #8

    Geralmente os criadores dos patches colocam os seus e-mails nos mesmos.

    Os patches são encontrados na área de desenvolvimento de cinco distros: Fedora, Sidux, Mandriva, Ubuntu e Debian.

    O que eu faço é pegar os que considero os melhores patches de cada distro e fazê-los trabalhar em conjunto… criando um único patch incluindo eles.

    O patch já o fonte…

    Talvez vc não saiba mais um kernel linux funciona em qualquer distro linux…

    Já pude testar no Gentoo e tb no Mandriva. Além do que eu uso o Debian e nele funciona tb.

    Agora é claro, o que vai fazer fazer ele funcionar na distro X ou Y é a configuração do kernel.

    Mais aí é na configuração que reside o problema e não no kernel em si.

    Se vc usar o omnislash e se não entrar com a minha config ele vai funcionar em qualquer coisa…

    Conforme já aconteceu com um usuário…

    http://www.guiadohardware.net/comunidade/compilar-kernel/864573/

    Mas tem que mexer em algumas coisas…

    Obrigado pelo comentário e Boa Noite!!!

  9. MSXManiac
    Maio 10, 2009 às 8:01 pm | #9

    Como ativar suporte ao ext4 no omnislash?

  10. Junho 6, 2009 às 11:47 am | #10

    Em “Processor type and features”:

    qual é o melhor pra Phenom II x4 ??

  11. hqxriven
    Junho 6, 2009 às 4:13 pm | #11

    Pode deixar K8 ou i686…

  12. Junho 23, 2009 às 8:32 pm | #12

    Muito bom o artigo, caro hqxriven … Vou tentar mais adiante … Esse negócio de compilar o kernel é tradicionalmente intimidante para os neófitos :-)

  13. Junho 24, 2009 às 12:38 am | #13

    E aí hqx. beleza?

    Tu tem, ou sabe de alguém que tenha, alguma config para os kerneis 64-bit?

    To gostando mto do kernel 64, e tua config é 32. queria melhorar ela um pouco. Ou tu terias as fontes delas, posso tentar vê-las. me manda pelo e-mail o link . ilkyest@hotmail.com

    E como eu posso dispor uma config “genérica” para o pessoal?

  14. Junho 24, 2009 às 12:43 am | #14

    Ah!. teria alguma config que gostaria de testar? me ofereço para cobaia.

    Detalhe. trabalho com o kubuntu jaunty-64bit, num sistema ext4

  15. Marco
    Junho 26, 2009 às 10:29 pm | #15

    Será que é possível adicionar o suporte à compressão MPPC[1] já que não temos problemas com patentes aqui?

    Acho incrível que a Canonical ainda não o tenha contratado, hqxriven. Acho que vou abrir um bug para isso.

    [1] http://mppe-mppc.alphacron.de/

    • hqxriven
      Junho 27, 2009 às 12:17 am | #16

      ilkyest é melhor tentar falar com o bernardo pois ele falou comigo que tinha testado…

      Ivan eu ainda estou nos 32 bits tenho que portar tudo para 64 bits e isso ainda é complicado…

      Marco olhei o link que vc passou e esse aqui tb http://gaute.vetsj.com/2008/03/19/mppc-for-arch-linux-kernel-2624/ e achei interessante. Vou tentar portar para o omni (não sei se vou conseguir mas vou tentar).

      E vi aqui tb…

      http://www.adamsinfo.com/linux-pptp-poptop-vpn-setup-with-mppe-and-mppc/#more-475

      Obrigado pela sugestão!!

      • Danilo Arantes
        Junho 27, 2009 às 2:41 pm | #17

        chegando nessa parte “#bzcat omnislash.bz2 |patch -p1″ ele pede “File to Patch: ”
        o que eu coloco?? to Travado nessa parte!!

        Abraço!

      • Danilo Arantes
        Junho 27, 2009 às 4:39 pm | #18

        opaa
        corrigido….foi falha minha!

        Valeuu

      • Gatohumano
        Junho 29, 2009 às 6:40 am | #19

        hqxriven preciso de uma ajudinha,poderias postar os setings aconselhaveis para o sysctl?para dualcore e para unicore,lembro-me de ter visto isso no forum do ubuntu mas infelizmente o topico parece que desapareceu de vez,outra coisa,em que sites posso arranjar patchs?ando a procura de patchs para mudar os HZ do cpu.
        Ja agora para quando um novo omnislash?
        Abraço

  1. Novembro 15, 2008 às 6:08 pm | #1