Kernel 2.6.30-omnislash1 – 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.30 do kernel vanilla e o patch omnislash e a configuração para o kernel

Leia mais deste post

Anúncios

Aumentando a velocidade do seu Firefox!!

Otimizando as configurações

Modifique as chaves com os seguintes valores:

browser.sessionhistory.max_total_viewers of the type integer, set it to 0

network.http.pipelining.maxrequests of the type integer, set it to 8

network.http.pipelining of the type boolean, set it to true

network.http.max-connections of the type integer, set it to 32

network.http.max-connections-per-server of the type integer set it to 8

network.http.max-persistent-connections-per-proxy of the type integer set it to 8

network.http.max-persistent-connections-per-server of the type integer set it to 4

content.interrupt.parsing of the type boolean, set to true

content.max.tokenizing.time of the type integer, set it to 5000000

content.notify.backoffcount of the type integer, set it to 10

content.notify.interval of the type integer, set it to 300000

content.notify.ontimer of the type boolean, set to true

content.switch.threshold of the type integer, set it to 500

nglayout.initialpaint.delay of the type integer, set it to 50

browser.cache.memory.enable of the type boolean, set it to true

browser.cache.memory.capacity of the type integer, set it to 1000

browser.sessionhistory.max_total_viewers of the type integer, set it to 0

Essas são as configurações que uso aqui na meu firefox e minha net é bem lenta. Acho que assim pode ajudar um pouco!!

Firefox 3.02 build4 – Instalando e Configurando

Sou um usuário feliz do Swiftweasel que está migrando para o Firefox 3 (por enquanto).

Como foi um processo um pouco complicado vou colocar um tutorial para vcs.

Baixando o Firefox 3.02 em Pt-BR (build4)

Abra um terminal e digite:

wget -c http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.0.2-candidates/build4/firefox-3.0.2.pt-BR.linux-i686.tar.bz2

Eu prefiro o processo acima pois é possível continuar o download caso falhe.

Instalando o Firefox 3.02 (build4)

Agora que vc já baixou, descompacte o arquivo e veja se o caminho dele ficará da seguinte forma /home/nomedoseuusuário/firefox.

Quando descompactei ele criou um diretório anterior ao diretório firefox chamado de firefox-3.0.2 e isso complicou o meu lado, por isso caso ele faça isso também, entre nessa pasta recorte o diretório firefox e cole no seu diretório de usuário para que ele fique conforme disse acima /home/nomedoseuusuário/firefox.

Agora abra um terminal e vire o root e copie os arquivos para o diretório /opt. No meu caso que uso Kde dei um sudo konqueror e efetuei a cópia. Se vc usa o gnome ou ainda prefere o terminal adapte o processo.

Instalando o Plugin Flash

sudo apt-get install flashplugin-nonfree

Porém um pequeno problema acontece e como o seu Firefox 3 usa um diretório diferente para os plugins o Flash não funciona.

O que fazer?? Supondo que vc fez como pedi será preciso apenas fazer o seguinte:

sudo ln -s /usr/lib/firefox/plugins/flashplugin-alternative.so /opt/firefox/plugins/flashplugin-alternative.so

Instalando o Plugin Java

sudo apt-get -y install sun-java6-bin sun-java6-fonts sun-java6-jre sun-java6-plugin

Porém um pequeno problema acontece e como o seu Firefox 3 usa um diretório diferente para os plugins o Java tb não funciona.

O que fazer?? Supondo que vc fez como pedi será preciso apenas fazer o seguinte:

sudo ln -s -f /usr/lib/firefox/plugins/libjavaplugin.so /opt/firefox/plugins/libjavaplugin.so

Vamos ver se os plugins estão instalados??

Colocando no menu do Kde

Clique com o botão direito do mouse em um item do menu e escolha editar menu.

Depois na parte de Internet crie um entrada para o Firefox 3 conforme mostro na imagem abaixo:

O comando de execução no menu será firefox3 %u e depois abra um terminal e digite:

sudo ln -sf /opt/firefox/firefox /usr/bin/firefox3

Agora sempre que vc digitar firefox3 em um terminal ele será executado!!

Teste o ícone agora para ver se ele funciona.

Fim!!

Swiftweasel – Um firefox mais otimizado para o linux!!!

Swiftweasel – Mais otimizado que o firefox!!

Swiftweasel é um navegador igual ao firefox em sua compatibilidade com temas, plugins e extensões porém ele possui otimizações que o firefox não possui.

Para verificar essas otimizações veja esses links:

http://swiftweasel.wiki.sourceforge.net/About+Swiftweasel
http://swiftweasel.wiki.sourceforge.net/Build+Configurations

Existem versões para processadores AMD e Intel.

Adicionando o repositório

Se a sua versão é a 7.10 crie um arquivo chamado de swiftweasel.list na pasta /etc/apt/sources.list.d e adicione a seguinte entrada e depos salve o arquivo:

#Gutsy
deb http://download.tuxfamily.org/swiftweasel gutsy multiverse

depois dê o seguinte comando:

sudo apt-get update

Assim a lista de repositórios será atualizada.

Instalando o swiftweasel

Os binários disponíveis são para os seguintes processadores:

http://swiftweasel.wiki.sourceforge.net/Which+Build%3F

Após fazer a verificação use o seguinte comando:

apt-cache search swiftweasel

e observe o nome dos pacotes disponíveis.

No meu caso como tenho um X2 amd 32 bits vou instalar da seguinte forma:

sudo apt-get install swiftweasel-athlon64

Alterando o idioma do swiftweasel

Para colocar o idioma em português vá nesse link:

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/

Escolha a versão do firefox que seja a mesma usada pelo swiftweasel que vc instalou e aí escolha o diretório linux-i686 e depois xpi no momento desse artigo a versão usada é a 2.0.0.14.

Se quiser entre no link:

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.14/linux-i686/xpi/

E faça o download do arquivo pt-BR.xpi (para português do brasil) ou pt-PT.xpi (para português de portugual).

Depois clique em Tools, Add-ons e arraste o arquivo para a janela Add-on. O diálogo de instalação vai iniciar.

Ao término da instalação digite about:config na barra de endereços e coloque na string general.useragent.locale o nome do idioma sem extensão (no meu caso coloquei pt-BR).

Widgets

Saiba que para instalar widgets no swiftweasel você terá que fazer uma mudança no diretório de instalação.

Eu uso o seguinte widget no Kde:

Link para download

Depois de fazer o download, descompacte e copie os arquivos para /usr/local/swiftweasel/res.

Alterando o tema gtk no Kubuntu 7.10

Quando instalei o Ubuntu gostei muito da sua aparência, porém no Kubuntu não sabia como fazer o mesmo.

Sabia como alterar a aparência gtk porém eu queria a mesma do ubuntu.

Enfim, só hoje descobri o tema utilizado.

Vamos alterar então??

sudo apt-get install gtk-qt-engine human-theme

Agora vamos alterar da seguinte forma:

Abra um terminal e digite kcontrol e depois escolha Aparência & Temas e por último GTK styles and Fonts

Aí na opção Use another style escolha Human

Conforme pode ser visto no screenshot abaixo:

Ao confirmar e abrir novamente o swiftweasel ele terá uma aparência melhor, vejam só o resultado final:

Mais Informações no site oficial:

http://swiftweasel.tuxfamily.org/

Projeto Omnislash – Otimização no Kernel!!

O projeto Omnislash nasceu da vontade de conseguir aumentar a fluidez na utilização do sistema Linux através de modificações diretamente no Kernel, fazendo com que o hardware seja aproveitado da melhor forma possível. Dando uma sensação de leveza e conseqüentemente uma melhora no desempenho.

No início quando utilizava o kernel 2.6.23 e se chamava ck1 apenas inseria a configuração do Sidux fazia pequenas modificações e o patch do Con Kolivas para melhorar a velocidade do sistema.

Conseguia bons resultados… para mim já era o suficiente mas…

Foi aí que comecei a desenvolver o kernel chrono, edge e slash onde descobri que havia outros patches que também aumentavam o desempenho e eles eram derivados do projeto Kamikaze e Zen (também voltados para aumentar o desempenho do Kernel).

Depois comecei a desenvolver o Kernel Omnislash em sua geração 2 já que considerava a geração 1 o kernel slash.

No Omnislash descobri que podia fazer mais ajustes e melhorar mais um pouco a performance, aí veio a geração 3 desse Kernel onde fiz uma análise e efetuei a mudança para a config do Zenwalk e fiz novos ajustes para conseguir melhores resultados.

O ganho de performance já estava bem melhor, porém uma dúvida ainda pairava sobre a minha cabeça.

“Se existem distribuições rápidas e elas não utilizam o Patch do Con Kolivas e nem o do Kamikaze, nem alteram muito a configuração elas fazem o quê para ter tanta velocidade??”

Aí pessoal, posso dizer que nesse momento comecei realmente a virar um desenvolvedor de kernel. Vi que o google não ia me ajudar muito. (rs)

Na procura da resposta baixei diversos kernels de diversas distros e comecei não só a analisá-los como também observar ativamente as listas de desenvolvimento das mesmas.

Enfim obtive a resposta:

As distros que possuem boa performance desenvolvem seus próprios patchs para otimizar os seus kernels.

Porém não há cooperação entre elas…

O que o Suse faz o Fedora não aproveita e vice-versa por exemplo. São poucos os casos em que uma distribuição usa os patches de outra.

Além do mais existem muitas distribuições porém poucas se preocupam com o Kernel algumas são simplesmente uma cópia da distro mãe com instalador diferente e um tema diferente (é melhor eu deixar de falar senão vou citar nomes e vou criar uma discussão daquelas).

A partir desse momento, tive que entender o funcionamento de cada patch (o que ele poderia fazer para melhorar a performance do sistema ou aumentar a segurança do mesmo) e colocar eles para trabalharem em conjunto (o que é bem complicado, já que alguns entram em conflito ao detectar certas alterações no código do Kernel), notei que o limite da geração 3 com o kernel 2.6.23 tinha chegado e precisaria mudar a base para o Kernel 2.6.24.

Descobri também que esse kernel (2.6.24) por padrão tem problemas que não deixam ele demonstrar todo o seu potencial com o CFS e o meu foco principal foi consertar esses problemas.

“Tudo” corrigido e agora???

Os patches a minha disposição eram muitos (a quantidade era enorme) pq eu estava trabalhando com kernels de mais de 20 distribuições.

Por isso resolvi apenas focar em determinadas áreas como:

-CFS
-Sistema de Arquivos
-Gerenciamento da memória RAM e da Cache
-Mtrr
-HD
-Wireless
-USB
-Swap
-Plug and Play
-Acpi
-Partes do kernel 2.6.25 e 2.6.26 que foram portadas para a versão 2.6.24 por serem muito boas ou por corrigirem bugs.
-Correção de Bugs do kernel 2.6.24

Fiz diversos testes e de muitos patches fiquei reduzido a menos de 200. Mais alguns testes e diminui pela metade os patches.

Enfim aconteceu meu primeiro teste com os patches que eu usaria definitivamente e puxa… quanta diferença.

Lembro que no dia estava com um colega em casa e tinha pedido o pendrive dele para um teste e ele que usa Windows se surpreendeu com a velocidade de transferência de dados e do sistema em geral.

Conclui os testes para verificar a estabilidade e tudo o que eu tinha feito e a distribuição que uso (Kubuntu 7.10) estava realmente mais rápida em meu hardware.

Agora sim estava pronta a nova versão do omnislash, uma nova geração agora chamada omnislash4.

Agora sim posso parar de ficar trocando de distribuição pq o meu hardware não é bem aproveitado.

Não quis que esse trabalho enorme ficasse restrito ao KXUbuntu e ainda por cima tendo que compilar para i686 tirando um pouco da performance e ainda restringindo o uso apenas aos usuários desktop.

Por isso liberei para a comunidade Linux para que ele possa ser adaptado da forma que bem entenderem (seja para um servidor, desktop, laptop) e em qualquer distribuição.

Também deixo a minha configuração no fonte (32bits) para que os patches sejam ativados corretamente.

Hoje depois de mais de 6 meses compilando kernels especificamente para a comunidade (compilo kernels aproximadamente desde o lançamento do Slackware 10) vejo uma quantidade expressiva de usuários usando esse kernel (alguns chegam a adicionar em sua assinatura) e relatando seus problemas e a diferença de performance existente.

O projeto Omnislash é GNU/GPL sendo utilizado oficialmente por uma distro e existe o Omni-BD-Mod um script interativo mantido pelo bernardo0cd0 que facilita a instalação do Omnislash

Só peço que pelo menos ao utilizarem esse kernel me notifiquem dizendo o que acharam, fazendo sugestões, relatando problemas, etc.

Para que ele enfim possa melhorar mais e mais.

Muito Obrigado a todos que ajudam o projeto de diversas formas (em fóruns, no blog, etc, se for citar nomes eu vou esquecer e vou cometer injustiças).

O que eu ganho com isso?? Conhecimento!! Faço esse trabalho por prazer em minhas horas vagas (e de insônia hehehe) e ainda continuo aprendendo e convido vc a me ajudar tb, sinta-se a vontade.

Bem vindos ao projeto Omnislash!

Abraços

Hqxriven

Links:

Kubuntu 7.10 – Aprendendo a voar sem segredos (aqui mostra a minha jornada do ck1 ao omnislash5, são 68 páginas no momento com mais de 1000 mensagens)
http://ubuntuforum-br.org/index.php/topic,29799.0.html

Kernel 2.6.27.6-omnislash5 – Compilando e Instalando um kernel otimizado no seu KUXbuntu (porém o kernel serve para qualquer distribuição)
Kernel 2.6.27.6-omnislash5

Script Gerador de Kernel Otimizado (Omni-BD-Mod)
http://www.guiadohardware.net/comunidade/script-gerador/865908/#post3726075

Alguns relatos de usuários com posts completos (se alguém deseja que eu retire pode falar)

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

http://www.guiadohardware.net/comunidade/recompilar-kernel/869574/

Ele em funcionamento usando pouca memória no Kubuntu 7.10:

http://ubuntuforum-br.org/index.php/topic,29799.msg215083.html#msg215083

Otimizações presentes no kernel omnislash4

O que faz o omnislash ser diferente dos outros kernels, o que ele tem de interessante??

Devido ao grande número de perguntas desse tipo, vou postar algumas coisas que essa série tem que poucos kernels possuem e o que eles fazem realmente.

Aos poucos irei atualizando esse post.

Ext 3 barrier por padrão

Para dar mais segurança ao ext3 coloquei esse patch, isso ajuda reduzindo problemas de corrupção de dados ou até do sistema de arquivos durante um crash, que podem acontecer devido a uma falha de fornecimento de energia ou até um kernel panic na hora de escrever um simples dado.

Esse patch dá mais poder ao ext3 melhorando a sua segurança e confiabilidade ao sistema.

Veja esse trecho (em inglês):

http://en.wikipedia.org/wiki/Ext3

Ext3 does not do checksumming when writing to the journal. If barrier=1 is not enabled as a mount option (in /etc/fstab), and if the hardware is doing out-of-order write caching, one runs the risk of severe filesystem corruption during a crash.[13][14] (This option is not enabled by default on almost all popular Linux distributions, and thus most distributions are at risk.)

Consider the following scenario: If hard disk writes are done out-of-order (due to modern hard disks caching writes in order to amortize write speeds), it is likely that one will write a commit block of a transaction before the other relevant blocks are written. If a power failure or kernel panic should occur before the other blocks get written, the system will have to be rebooted. Upon reboot, the file system will replay the log as normal, and replay the “winners” (transactions with a commit block, including the invalid transaction above which happened to be tagged with a valid commit block). The unfinished disk write above will thus proceed, but using corrupt journal data. The file system will thus mistakenly overwrite normal data with corrupt data while replaying the journal. If checksums had been used (if the blocks of the “fake winner” transaction were tagged with mutual checksum), the file system could have known better and not replayed the corrupt data onto the disk.

A sua distribuição linux usa isso???

É simples use o comando abaixo e veja os resultados:

cat /proc/mounts
rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec 0 0
none /proc proc rw,nosuid,nodev,noexec 0 0
udev /dev tmpfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
/dev/disk/by-uuid/8d4928f0-5d48-4451-a9eb-73caecf20fd0 / ext3 rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
/dev/disk/by-uuid/8d4928f0-5d48-4451-a9eb-73caecf20fd0 /dev/.static/dev ext3 rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
tmpfs /var/run tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /var/lock tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime 0 0
tmpfs /var/run tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /var/lock tmpfs rw,nosuid,nodev,noexec 0 0
/dev/sde5 /home ext3 rw,relatime,barrier=1,data=ordered 0 0
/dev/sde1 /media/sda1 fuseblk rw,nosuid,nodev,noatime,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0

Con Kolivas patchs

Um grande desenvolvedor que fez e inspirou diversas modificações no kernel, o CFS feito pelo Ingo Molnar foi feito inspirado no código fonte do Staircase Deadline do Con.

Os patches feitos pelo Con Kolivas (ck) vão otimizando desde o uso da memória, swap, cfq, etc e aumentam a performance e a resposta do sistema e ajudam também reduzindo o impacto do sistema de entrada e saída

Após algumas desavenças ele não continua mais fazendo esses patches mas a comunidade ainda continua mantendo os mesmos pois são muito bons.

Dessa vez peguei os patches do kernel “dark” do fórum gentoo por isso deixo o meu agradecimento a esse excelente patchset.

http://en.wikipedia.org/wiki/Con_Kolivas

Relatime

Esse patch ajuda bastante na performance do hd veja o que o Mandriva 2008 diz sobre o relatime:

Mandriva 2008 Wiki

Operações mais rápidas nas partições

Por padrão, o instalador configura sistema de arquivos para usar a opção relatime. Essa opção reduz drasticamente a quantidade de I/O utilizada pelo sistema na data de acesso de atualização quando um arquivo é lido ou quando um diretório é navegado. Assim o carregamento de máquinas desktop e servidor é drasticamente reduzido e muitas tarefas de I/O são concluídas mais rapidamente.

Para verificar se vc está usando o relatime faça o seguinte:

É simples use o comando abaixo e veja os resultados:

cat /proc/mounts
rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec 0 0
none /proc proc rw,nosuid,nodev,noexec 0 0
udev /dev tmpfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
/dev/disk/by-uuid/8d4928f0-5d48-4451-a9eb-73caecf20fd0 / ext3 rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
/dev/disk/by-uuid/8d4928f0-5d48-4451-a9eb-73caecf20fd0 /dev/.static/dev ext3 rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
tmpfs /var/run tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /var/lock tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime 0 0
tmpfs /var/run tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /var/lock tmpfs rw,nosuid,nodev,noexec 0 0
/dev/sde5 /home ext3 rw,relatime,barrier=1,data=ordered 0 0
/dev/sde1 /media/sda1 fuseblk rw,nosuid,nodev,noatime,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0

Até eu concluir esse tópico vou demorar um tempinho então espere mais coisas

Otimizações no KUXbuntu 7.10 – KDE 3.5.x

O seu KDE está mais pesado que o Gnome?? Pois é, o meu consumia uma boa quantidade de ram, mas agora ele e o XFCE estão bem semelhantes (pelo menos aqui)! Algumas a maioria já conhece, mas muitos iniciantes nem sabem que existe o kcontrol…

Então vamos configurar um pouco o KDE?

Entrando no Centro de Controle do KDE (kcontrol)

Primeiro abra um terminal e digite kcontrol, note que ele mostrará a versão do KDE, a arquitetura e o nome do kernel.

As opções podem ser acessadas através do menu do lado esquerdo.

Aumentando a performance

Vá em Componentes do KDE e selecione a opção Performance do KDE e escolha como está na imagem abaixo.

Dessa forma o KDE não manterá instâncias do Konqueror residentes na memória.

Diminuindo a quantidade de áreas de trabalho

Vá em Área de Trabalho e selecione a opção Múltiplas Áreas de Trabalho e diminua para somente uma como na imagem abaixo. Assim o KDE não usará 4 áreas como na maioria das distros, usando uma boa quantidade de memória.

Retirando o cursor de ocupado

Essa até o Sidux usa na sua versão Gaia, que apesar de ser simplesmente estética, dá a impressão do sistema ficar mais rápido porque você não fica vendo aquela ampulheta chata carregando por um booom tempo e ainda por cima a notificação na barra de tarefas fica rápida.

Vá em Aparências & Temas e escolha Lançador rápido – histórico e deixe como na imagem abaixo.

Desabilitando efeitos GUI

Mais uma coisa que pega mais memória do sistema, então vamos desabilitar?

Entre em Aparências & Temas e Estilo e depois desative como mostrado na imagem abaixo.

Desativando a animação da minimização e restauração das janelas e o sombreamento

Mais opções que pegam recursos então vamos desativar da seguinte forma:

Vá em Área de Trabalho e escolha Comportamentos da janela e na aba Movendo desative a opção conforme mostrado na imagem abaixo:

Depois escolha a aba Avançado e deixe como na imagem abaixo:

Desabilitando o sistema de som

Desabilitando essa opção vc ganha mais um pouco de economia, se acontecerem problemas na hora de tocar diversos sons simultaneamente habilite novamente!

Gerenciando a sessão para consumir menos recursos

Esse possivelmente é um dos que dá mais resultados, pois o KDE vai salvando a sessão e depois de um determinado tempo vc já desinstalou arquivos, atualizou o sistema aí você abre o sistema e vê o KDE utilizando mais de 200 de ram.

Isso é um absurdo!! Passou de 100 ao iniciar o sistema já é muito. Hoje em dia entre 45 a 78 é o ideal!

Como alterar??

Faça o seguinte: Vá em Componentes do KDE e em Gerenciador de Sessão e deixe como na imagem abaixo

Iniciar programas do Kde um pouco mais rápido (Compose-cache e hosts)

Crie um diretório em home/seuusuário chamado .compose-cache simples…

Como funciona…

http://kdemonkey.blogspot.com/2008/04/magic-trick.html

O arquivo /etc/hosts pode ter o seguinte conteúdo por padrão:

127.0.0.1 localhost
127.0.1.1 [youhostname]

Troque para:

127.0.0.1 localhost [yourhostname]
127.0.1.1 [yourhostname]

Pronto agora temos um KDE um pouco mais leve e menos consumidor de recursos! Dê um boot e aproveite!