Fórum Ubuntu Linux - PT

Área para Iniciantes => Dicas e Truques => Tópico iniciado por: galactus em 22 de Abril de 2011, 09:49

Título: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 09:49
Nota!

Primeiramente gostaria de dizer que este tutorial não é só meu!  Ele é de todos os amigos e colegas que participam do tópico do Hqxriven sobre o Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
Vários colegas contribuíram para este tutorial, gostaria de agradecer aos colegas: Buli, MSXManiac , 4d4c47, Gunss, cesargcomp,  vampire_thunder e Hqxriven!  Minhas sinceras desculpas se esqueci de alguém que tenha contribuído direta ou indiretamente com esse tutorial e que não tenha o seu nick aqui divulgado! É só falar que eu corrijo!

Esse tutorial não foi feito  pensando em usuários iniciantes! Ele também faz uso maciço, se não quase que exclusivo, da linha de comando!  Portanto se não gosta do bom e velho terminal, pare por aqui!!!!
O que eu fiz foi juntar muita informação que estava espalhada no tópico do Hqxriven do kernel Ominislash! Coisas que eu e os colegas acima citados fomos descobrindo e testando ao longo do tópico do kernel Omnislash! Portanto este tutorial não serve e nem quer substituir o tópico do Hqxriven! Ele atende a pedidos insistentes dos participantes do tópico do Hqxriven que pediam essas informações reunidas em um só lugar!

Se qualquer colega do fórum quiser acrescentar ou corrigir qualquer informação do tutorial abaixo, por favor esteja a vontade para o fazer!  

Então vamos deixar de conversa fiada e partir para o que interessa!!!


1- Introdução!

Para quem gosta de ter o máximo de desempenho possível do seu sistema operacional já deve ter se perguntado qual o motivo de uma distribuição ser mais rápida que outras!  Foi a resposta de uma pergunta como essa que levou a existência do tópico do Hqxriven! Mas ainda não satisfeito, eu me perguntava qual o motivo de ao utilizarmos opções de otimizações para o kernel para um processador que não era o meu, ter um desempenho maior do que quando usava as opções para o meu processador?  Este tópico é a reposta dessa minha pergunta! O que eu tentarei a seguir é fazer o resumo da síntese de um assunto bastante amplo e complexo, mas que vale a pena ser relatado para que você tenha um melhor entendimento do que estará fazendo com os comandos a seguir!

Os desenvolvedores do Kernel Linux e de grandes distribuições tem uma tarefa muito ingrata na hora de fazer um kernel ou sistema que funcione bem não importa qual seja a sua configuração! Na tentativa de fazer com que o kernel Linux funcione numa variedade muito ampla de processadores, afinal ele não sabe em que modelo ou marca de fabricante de processador o kernel vai funcionar, o desenvolvedor é obrigado a tomar medidas que façam com que o kernel funcione desde de um 286 a um Core i7 de última geração! Ou seja, estamos cobrindo quase 30 anos de história de processadores! E vocês sabem o que apenas um ano representa em matéria de desenvolvimento de processadores!

Distribuições mais modernas que visam apenas processadores mais recentes já não possuem compatibilidade com processadores com mais de 11 anos de idade!   Mesmo assim isso representa um período gigantesco em matéria de novas tecnologias e instruções embutidas no processador! O resultado é o uso de configurações genéricas no kernel para que ele possa funcionar numa miríade de modelos e marcas de processadores! Se você acha que apenas AMD e Intel fazem processadores pesquise mais um pouco sobre o assunto!

Se você tiver curiosidade, visite as páginas da Intel ou AMD e procure ler a respeito das instruções de otimização que cada processador tem embutida dentro dele!  Para começar, pesquise sobre instruções SSE! Se o kernel não for capaz de reconhecer alguma instrução do processador ou precisar de uma instrução que não está disponível no processador em questão ele simplesmente não "liga"!    Um exemplo prático disso foi o que ocorreu com o nosso amigo vampire_thunder na tentativa da instalação do Ubuntu 10.10 em um K6-II 500! O kernel do Ubuntu 10.10, voltado para processadores com menos de 10 anos de idade, não "ligou" com um k6-II 500 por ele não ter suporte as instruções cmov!!! Com isso o vampire teve que usar o Ubuntu 10.04 que ainda dá suporte a processadores tão velhos!

Então agora você já deve estar passando o cartão ou você já deve estar se fazendo algumas perguntas! Para que o kernel funcione no maior número possível de processadores os desenvolvedores removem as instruções de otimização dos processadores mais novos para que o kernel funcione num processador do arco da velha?  Sim, é isso mesmo o que acontece!!!!  Então quer dizer que o meu novíssimo Phenon X6 ou Core i7 rodam muito aquém de sua capacidade máxima? Sim, é isso mesmo o que ocorre!!!

Mas nem tudo está perdido!  Se você costuma compilar o seu kernel esse problema pode ser evitado e você poderá retirar cada gota do desempenho de seu caro processador! Mesmo que ele seja um Pentium 4 ou o Atom! Essas alterações são feitas nas instruções passadas para o GCC ( GNU Compiler Collection) na hora de compilar o seu kernel!  Em distribuições feitas para serem compiladas, como o Arch Linux e o Gentoo, seus usuários já estão acostumados com isso! Inclusive o Arch Linux e o Gentoo trazem ainda mais opções de compilações das que mostradas a seguir! Lembre-se, o Ubuntu não é uma distribuição para ser compilada!  Ela foi feita para usar os pacotes .deb já prontos pela equipe da Canonical!  O que vamos fazer é ter o melhor de dois mundos!  A praticidade de não ter que compilar um sistema inteiro mas sim compilar apenas a parte principal e maior responsável pelo desempenho do sistema! Se você quiser tirar cada gota máxima de desempenho do seu sistema inteiro, sugiro que mude de distribuição!  Passe a usar o Arch Linux ou o Gentoo!!!


2- Entendo as alterações do GCC

Tudo começou com uma simples pergunta: Qual o motivo do meu sistema com Core i7 desempenhar melhor quando eu colocava o kernel para ser otimizado para Pentium 4 do que para Core2? Você que está acostumado a compilar o kernel Linux sabe da suma importância de acertar o processador no Menuconfig do kernel para o desempenho ideal! Por isso essa pergunta me deixava com um elefante atrás da orelha!!!

Mas antes da resposta a essa pergunta vamos entender o que é o GCC!

Segundo a Wikipedia: O GNU Compiler Collection (chamado usualmente por GCC) é um conjunto de compiladores de linguagens de programação produzido pelo projecto GNU. É software livre distribuído pela Free Software Foundation (FSF) sob os termos da GNU GPL, e é um componente-chave do conjunto de ferramentas GNU. É o compilador padrão para sistemas operativos UNIX e Linux e certos sistemas operativos derivados tais como o Mac OS X. Originalmente suportava somente a linguagem de programação C e era designado GNU C Compiler (compilador C GNU). Com o tempo ganhou suporte às linguagens C++, Fortran, Ada, Java e Objective-C, entre outras.

Depois de muita pesquisa e leitura, descobri o seguinte: Segundo a documentação do GCC, na teoria, deveríamos ter melhor desempenho ao se colocar a arquitetura correta do processador na hora de compilar! O problema é que isso vale mais para distros feitas para serem compiladas como Arch Linux e o Gentoo!  Essas duas distros possuem um arquivo de configuração onde dentro dele estão contidas todas as instruções na hora de compilar qualquer coisa no sistema!  O Debian/Ubuntu não possuem tal coisa!  Nem vou falar do apt-build pois este não conta para compilar kernel!

Como ia dizendo, na documentação do GCC existe a opção de ativar as otimizações do seu processador! Como no Ubuntu não temos o mesmo arquivo de configuração do Gentoo ou do Arch Linux, faremos as alterações diretamente nos arquivos do fonte do Kernel!  Nós vamos alterar a linha do CFLAGS (para o C) e o CXXFLAGS (para o C++) e todas as linhas que contiverem as opções "march", "mtune" e "mcpu" nos arquivos que importam do fonte do kernel!  

Desde a versão 4.3 do GCC existe a opção mtune que ajuda na ativação de instruções para processadores x86! Ou seja, ela ajuda de forma "genérica"! Apesar de obsoleta nas versões mais recentes do GCC essa opção ainda é utilizada por questões de compatibilidade! Para um melhor aproveitamento na ativação das instruções dos processadores foi criada a opção march que ativa instruções específicas para o seu processador! Mesmo assim fica difícil saber qual opção utilizar sendo tantos os modelos e variações nas instruções dos processadores! Para facilitar a nossa vida os desenvolvedores criaram a opção "march=native" que verifica em qual processador o código vai ser compilado e ativa todas as instruções deste processador em questão!  

Para entender um pouco mais,  ao se usar o "mtune" a compilação irá otimizar o código para o processador, mas ele não usa as otimizações específicas das instruções do mesmo! Ao se utilizar a opção "march", ele usa as otimizações específicas das instruções do processador! E mais, ao se usar a opção "march" implica em dizer que o mtune vai seguir o "march", mas o contrário não é verdadeiro!
Embolou o meio de campo?
Fica fácil entender com um exemplo!

Se eu colocar mtune = core2, quer dizer que o código a ser compilado vai usar otimizações para o Core2, mas por compatibilidade e segurança ele não vai usar instruções específicas, vai usar instruções genéricas nas instruções! Aí vai depender do desenvolvedor, ele pode colocar a i386 se quiser nas instruções, mas ao que tudo indica, eles usam a nocona (que foi o primeiro pentium 4 com instruções 64bits). A nocona possui: Pentium4 com extensões 64-bit , MMX, SSE, SSE2 e SSE3!  

Se eu usar march = Core2, quer dizer que ele vai usar as instruções específicas do Core2 ( extensões 64-bit, MMX, SSE, SSE2, SSE3 e SSSE3), ou seja, se o seu processador não suportar tais instruções, o kernel não "liga"!!! Ao usar o march = Core2 implica em dizer que o mtune também será Core2! Passaram o cartão agora?

Resumindo:

mtune = código otimizado, sem instruções do processador otimizadas!
march = código e instruções do processador otimizadas de acordo com a arquitetura do processador selecionada!

Eu só tive essa luz no fim do túnel porque eu achei um fórum de programadores em C e um Canadense deu uma explicação matadora que eu não tinha lido em canto nenhum ainda!

Leiam o que o cyberfish diz:

Citar
mtune=... does NOT affect the instruction sets used, or machines the executable is run on.

For that (eg, enabling SSE), you'll need march=....

If you do march=core2 for example (on a new GCC), it will use all the instruction sets available to Core 2 CPUs. march=x also sets mtune=x. The executable won't run on older CPUs.

If you ONLY use mtune=core2, it will generate code that runs the best on a Core 2, but will still only use instructions available to all x86 CPUs (eg, no SSE), hence it will still run on old CPUs, just a little slower.

As a real world example, I think a few years ago some Linux distribution decides to use -march=pentium3 -mtune=pentium4, or something like that. That means, the code is guaranteed to run on a P3, but optimized for a P4, since they predict most people will be running for a P4.

If you don't use any flag, GCC will assume -march=i386 (lowest x86).

If you want GCC to use all instruction sets on your CPU, and optimize for your CPU (because, for example, the code will only be run on your machine), you can do -march=native (which also sets mtune=native). Only available in newer GCC (it was introduced in 4.3 or 4.4 I THINK).

-m32 and -m64 are only for generating 32-bit code on a 64-bit machine, or generating 64-bit code on a 32-bit machine, respectively. GCC defaults to 32-bit on 32-bit, and 64-bit on 64-bit.
O tópico é este aqui: http://cboard.cprogramming.com/c-programming/127502-%5Bgcc%5D-compiling-generic-x86-architecture-2.html

E quanto ao kernel? Tudo indica que ao usar o menuconfig estamos alterando apenas o mtune e não o march!!!! Pois o sistema já foi construído! É uma distro binária! Com o gentoo e o arch linux não, o "normal" deles é você construir o sistema inteiro!

Para bular tal limitação no Ubuntu é que vamos alterar os arquivos do Makefile do kernel!  O arquivo Makefile é um dos que contém as instruções para compilar o código do kernel!

Essa dica foi dada por outro usuário do fórum internacional do Ubuntu, o tópico é este aqui: http://ubuntuforums.org/showthread.php?t=1579505

3- Colocando a mão na massa!

Já sei, você está ansioso para colocar isso tudo em prática! Mas espere só mais um pouco!  É que você pode ter dúvida em que momento da preparação para compilar o kernel você vai executar os comandos e alterações abaixo!  

Você pode continuar o seu tutorial habitual, como o do Hqxriven.  Baixe o fonte do kernel que você for usar, descompacte-o, aplique os patchs que você assim desejar, faça as alterações do menuconfig/xconfig que você pretende e só então realize as alterações sugeridas abaixo antes de efetivamente dar os comandos para compilar o kernel! Descobri que assim as chances de erros são bem menores!  

A primeira coisa a saber é quais as opções colocar na linha do CFLAGS do Makefile do diretório raiz do fonte do kernel!  Atenção, se a sua versão do GCC for muita antiga o comando abaixo não funcionará, portanto você terá que migrar para uma versão do GCC mais recente!

Por falar em GCC, sempre procure usar a versão mais recente do GCC se quiser extrair o máximo de desempenho de processadores modernos! Aqui mesmo no Fórum eu já coloquei um tuto de como alterar a versão do GCC do Ubuntu e o Alyscom mostra lá que existe um PPA para as versões do GCC mais recentes também!  Contudo, pode haver erro ao compilar o kernel numa versão moderna do GCC e você for utilizar esse kernel em um sistema com GCC mais antigo!!! Então cuidado!  Para não correr riscos o ideal é usar um sistema com a mesma versão do GCC em que o kernel foi compilado!  


Para saber o que vai ser alterado use o comando abaixo na máquina em questão:

Código: [Selecionar]
$cc -march=native -E -v - </dev/null 2>&1 | grep cc1

Como exemplo eu vou colocar a saída do comando do meu Core i7:

Citar
galactus@galactus-mint ~ $ cc -march=native -E -v - </dev/null 2>&1 | grep cc1
 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/cc1 -E -quiet -v - -D_FORTIFY_SOURCE=2 -march=core2 -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=core2 -fstack-protector


A parte em negrito é a que interessa para melhorar o desempenho!  As opções -D_FORTIFY_SOURCE=2 e -fstack-protector servem para melhorar a segurança da memória contra ataques de segurança! Se decidir colocar essas opções na linha do CFLAGS, lembre-se de ativar a opção fstack-protector no menuconfig do Kernel!!!!

Como podem ver o comando mostra a versão do GCC do meu sistema, que no exemplo acima usa o GCC 4.4.5, mostra que vai otimizar o processador para sua família correta "core2", ativa todas as suas instruções específicas deste processador com o -msse4.2, passa parâmetros específicos para otimizar a memória cache L1 e L2 do processador além de outras opções de otimização que vocês podem pesquisar na documentação do GCC!

 
De posse dessas informações, procure o arquivo Makefile na seguinte pasta (você também pode alterar os arquivos da pasta de link simbólico "linux"):

Citar
/usr/src/linux-2.6.XX/Makefile


A linha que vamos alterar está por volta da 232!

O arquivo original deve ser parecido com este:

Citar
# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
     else if [ -x /bin/bash ]; then echo /bin/bash; \
     else echo sh; fi ; fi)

HOSTCC       = gcc
HOSTCXX      = g++
HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2  -fomit-frame-pointer
HOSTCXXFLAGS = -O2


A linha em negrito é a que interessa!  
A linha modificada deve ficar assim:

Citar
# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
     else if [ -x /bin/bash ]; then echo /bin/bash; \
     else echo sh; fi ; fi)

HOSTCC       = gcc
HOSTCXX      = g++
HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -pipe -fomit-frame-pointer -march=native -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=generic
HOSTCXXFLAGS = -O2

Dicas:

- Acrescente a opção -pipe para acelerar a compilação
- Se estiver compilando um kernel 64bits não precisa colocar a opção  -fomit-frame-pointer, ela já é padrão em compilações de kerneis 64bits
- Altere a opção -march=nomedafamíliadoprocessador para -march=native
- Se usar a versão do GCC 4.5.1 para baixo, na opção -mtune use -mtune=generic, assim o desempenho é maior! Do GCC 4.5.2 em diante, use a saída original do comando acima! No meu caso foi -mtune=core2!
- Não use a opção -03!  Permaneça com a -02!

Essas são as principais alterações a fazer! Se não quiser mexer nas demais pastas, tudo bem!  Se quiser extrair um pouco mais, continue lendo!

Agora encontre as seguintes pastas listadas abaixo com as linhas onde você provavelmente vai encontrar as opções march, mtune ou mcpu!

A dica é do 4d4c47:

Citar
/usr/src/linux-2.6.xx/arch/x86/boot/compressed/Makefile     - linha 12
/usr/src/linux-2.6.xx/arch/x86/boot/Makefile       - linha 63

/usr/src/linux-2.6.xx/arch/x86/kernel/acpi/realmode/Makefile   - linha 35

/usr/src/linux-2.6.xx/arch/x86/Kconfig.cpu        - linha 300
/usr/src/linux-2.6.xx/arch/x86/Makefile          - linhas 53, 54, 57, 58, 59, 60
/usr/src/linux-2.6.xx/arch/x86/Makefile_32.cpu            - linhas 5, 7, 9, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 46, 47, 63

Especial atenção para o arquivo Makefile_32.cpu!  Aí está a opção para otimzação do seu processador!!!!

Em todos os arquivos acima listados, altere todas as opções ativas de -march=xx para -march=native, de -mtune=xx para -mtune=generic (se usar a versão do GCC 4.5.1 para baixo) ou para -mtune=nomedafamíliadoprocessador que a saída do comando mostrou se usar a versão do GCC 4.5.2 em diante, e mcpu para -mcpu=native!

De novo o colega 4d4c47 trás a dica: depois de tudo isso, comece a compilação ( pra ver se tá compilando com march=native mesmo, abra um outro terminal e execute após 2 minutos de compilação: ps ax | grep gcc | grep march )

E só!!!  ;D ;D ;D


4- O que eu ganho com isso tudo?

Ao realizar essas alterações você terá um kernel compilado otimizado especificamente para o seu processador, com todas as instruções que estão embutidas nele ativas, com sua memória cache otimizada entre outras opções! O resultado é um sistema muito mais ágil, principalmente nas operações que envolvem Áudio, Vídeo, animações flash, navegação na internet e diminui o consumo do processador, então sua conta de energia vai ser menor e sua bateria de notebook vai durar mais!   Na hora de chamar um programa pela segunda vez a resposta é mais rápida também!

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 09:51
Outra dica importante do vampire_thunder é que você pode compilar o kernel otimizado para um processador, mesmo não estando na máquina em que você vai usar o kernel!  Mas para isso é preciso executar o comando
Código: [Selecionar]
$cc -march=native -E -v - </dev/null 2>&1 | grep cc1
Na máquina em que o kernel vai ser utilizado, copiar a saída do comando do que interessa e alterar tudo na outra máquina, assim você vai compilar tudo como se estivesse na maquina em que o kernel vai ser utilizado!
É uma mão na roda se você tem uma máquina poderosa para compilar o kernel e a outra máquina em que o kernel otimizado vai ser usado é muito ruim!  Então você pode usar um Core i7 ou um Phenon X4 para compilar kernel para um Atom 330 ou um K6-II da vida!!!!  É possível inclusive compilar um kernel 32bits em uma máquina 64bits, mas não o contrário, se não me engano!  Mas isso é outro tutorial que o tio vampire vai fazer!!!  :P


Nas páginas abaixo você vai encontrar muito mais informações do que coloquei aqui!  Muita coisa foi testada e agora sabemos que não funciona direito ou não vale a pena usar! Esteja a vontade para fazer os seus testes!
Qualquer erro é só avisar!  Se tiver novidades também serão bem vindas!
 
Este tutorial é fruto das seguintes páginas:

http://en.gentoo-wiki.com/wiki/Safe_Cflags
http://en.gentoo-wiki.com/wiki/Hardware_CFLAGS
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Core_i7_and_Core_i5.2C_Xeon_55xx
http://ubuntuforum-br.org/index.php/topic,29799.3300.html
http://ubuntuforum-br.org/index.php/topic,29799.3210.html
http://ubuntuforum-br.org/index.php/topic,29799.3180.html
http://ubuntuforum-br.org/index.php/topic,29799.3120.html
http://ubuntuforum-br.org/index.php/topic,29799.3060.html
http://ubuntuforum-br.org/index.php/topic,29799.3480.html
http://ubuntuforum-br.org/index.php/topic,29799.3510.html

Obrigado a todos!

Atendendo ao pedido do Vampire, aqui vai um exemplo do que otimizações do sistema podem fazer por um PC antigo:
Pentium 4 1.5Ghz com 384MB de RAM, sendo 64MB para o Vídeo Onboard Matrox! É isso mesmo, Matrox!
HD de 20GB!  Placa mãe Fujitsu com Chipset Intel 845, e todo o restante do hardware, com exceção da "potente" placa de vídeo Matrox, eram Intel!
Portanto uma máquina com 10 anos de idade! Sua Bios é de 2001! Com isso ele consegue ter um poder de processamento ainda pior que um Atom moderno!

http://www.youtube.com/watch?v=OCevVWiZCks

Atendendo a mais uma pedido, aqui vai a versão deste tutorial em PDF: http://www.megaupload.com/?d=7KXGNLEK
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Andreson Goveia em 22 de Abril de 2011, 09:54
Parabéns, ficou muito bom e já vou coloca-lo em pratica aqui.

Há poderia ser fixou né ,hehe.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: platao em 22 de Abril de 2011, 10:01
Opa maravilha de dica, assim que eu pegar a minha maquina antiga vou por em pratica, obrigado Galactus. Parabens pelo tuto.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 10:14
Obrigado Andry e platao, espero que o tuto seja de grande utilidade para vocês! Quanto a fixar o tópico acho que não precisa, pouca gente vai fazer isso tudo!!! 
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Andreson Goveia em 22 de Abril de 2011, 10:16
Obrigado Andry e platao, espero que o tuto seja de grande utilidade para vocês! Quanto a fixar o tópico acho que não precisa, pouca gente vai fazer isso tudo!!! 
Sei não viu, hehehe.

Depois de uma boa divulgação.

E tem muitos aqui dispostos a aprender.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 22 de Abril de 2011, 10:36
Obrigado Andry e platao, espero que o tuto seja de grande utilidade para vocês! Quanto a fixar o tópico acho que não precisa, pouca gente vai fazer isso tudo!!!  

Duvido! rsrsrsr

Só vermos o tópico do Omnislash. A procura foi tanta, os posts só crescendo, que ficou inevitável a pinagem do tópico.

Fiquei honrado com a citação. Valeu, Galactus!

Só para complementar, aí está a foto que mostra a incompatibilidade do cmov citada no tutorial:
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg853.imageshack.us%2Fimg853%2F1966%2Fs5038031.th.jpg&hash=7ab24b112e3dd42833d2cc7e585ea45304ff5c43) (http://img853.imageshack.us/my.php?image=s5038031.jpg)


Daqui a alguns meses vou pedir permissão para fazer uma versão deste tutorial a fim de publicar na Revista Espírito Livre. Seria o final da série de tutoriais de como compilar o kernel do Ubuntu, que vou publicar lá.

PS: Galactus, você poderia anexar ao tutorial o vídeo de suas otimizações, sobretudo o do Pentium 4, como exemplo?

PS2: para garantir a compatibilidade do kernel mais novo, eu usei o config do 2.6.32 que estava instalado na máquina, fazendo as devidas adaptações.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 11:42
Obrigado Andry e platao, espero que o tuto seja de grande utilidade para vocês! Quanto a fixar o tópico acho que não precisa, pouca gente vai fazer isso tudo!!!  

Duvido! rsrsrsr

Só vermos o tópico do Omnislash. A procura foi tanta, os posts só crescendo, que ficou inevitável a pinagem do tópico.

Fiquei honrado com a citação. Valeu, Galactus!

Só para complementar, aí está a foto que mostra a incompatibilidade do cmov citada no tutorial:
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg853.imageshack.us%2Fimg853%2F1966%2Fs5038031.th.jpg&hash=7ab24b112e3dd42833d2cc7e585ea45304ff5c43) (http://img853.imageshack.us/my.php?image=s5038031.jpg)


Daqui a alguns meses vou pedir permissão para fazer uma versão deste tutorial a fim de publicar na Revista Espírito Livre. Seria o final da série de tutoriais de como compilar o kernel do Ubuntu, que vou publicar lá.

PS: Galactus, você poderia anexar ao tutorial o vídeo de suas otimizações, sobretudo o do Pentium 4, como exemplo?

PS2: para garantir a compatibilidade do kernel mais novo, eu usei o config do 2.6.32 que estava instalado na máquina, fazendo as devidas adaptações.

De nada vampire, pedido atendido!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Hqxriven em 22 de Abril de 2011, 12:15
Galactus coloquei no primeira página do tópico do omnislash um link para esse parte!

Excelente tutorial! Obrigado!

Hqx
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: havocz em 22 de Abril de 2011, 12:17
Aleluia !!!!!!! :D

Sem querer abusar, vc poderia criar um pdf como fizeste com o tutorial do ext4 ?  ::)  ::)  ::)

Muito Obrigado !!!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: niquelnausea em 22 de Abril de 2011, 19:03
estou usando o arch ja faz alguns meses, e todos os dias me surpreendo com o desempenho, o kernel usado pela distro é muito esperto! compilando alguns programas consigo um bom ganho em relação aos pacotes oferecidos nos repositórios oficiais. usando o firefox 4 como exemplo, consegui melhorar e muito o consumo de ram e o tempo de inicialização apenas compilando alguns pacotes. compilar o sistema todo acho exagero, o ganho que se obtêm muitas vezes não vale o trabalho, porém com um kernel compilado especialmente para sua maquina todos os programas que nela rodam vão tirar proveito. ja fiz alguns testes em um pc antigo com o debian, e o desempenho ficou muito melhor.
mais uma vez, um ótimo tutorial galactus.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Wagnesio em 22 de Abril de 2011, 20:46
Otimo tutorial, estou compilando o Kernel para o meu Atom. Se tudo der certo, vou ficar com o combo : EXT4 tunado + Omnislash (com o makefile otimizado) + JFS + Fluxbox/Gnome + instalação minima.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 21:45
Galactus coloquei no primeira página do tópico do omnislash um link para esse parte!

Excelente tutorial! Obrigado!

Hqx

Muito obrigado Hqx!   
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 21:54
Aleluia !!!!!!! :D

Sem querer abusar, vc poderia criar um pdf como fizeste com o tutorial do ext4 ?  ::)  ::)  ::)

Muito Obrigado !!!

Vou providenciar!  
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 21:57
estou usando o arch ja faz alguns meses, e todos os dias me surpreendo com o desempenho, o kernel usado pela distro é muito esperto! compilando alguns programas consigo um bom ganho em relação aos pacotes oferecidos nos repositórios oficiais. usando o firefox 4 como exemplo, consegui melhorar e muito o consumo de ram e o tempo de inicialização apenas compilando alguns pacotes. compilar o sistema todo acho exagero, o ganho que se obtêm muitas vezes não vale o trabalho, porém com um kernel compilado especialmente para sua maquina todos os programas que nela rodam vão tirar proveito. ja fiz alguns testes em um pc antigo com o debian, e o desempenho ficou muito melhor.
mais uma vez, um ótimo tutorial galactus.

Obrigado!

Realmente dá diferença, mas como você mesmo disse, compilar o sistema todo dá trabalho!  O pior pra mim são as atualizações!  Ter que compilar tudo que for de atualização é de lascar!!!!
Eu tava testando o Gentoo e o tempo que se perde configurando, baixando e extraindo pacotes antes de começar a efetivamente a instalar ou compilar algo, e isso partindo do Stage 3, foi muito grande!
Eu gosto dessa abordagem pois temos praticidade de um lado e podemos melhorar muito o desempenho com uma única compilação!

Só se realmente o camarada tiver muita paciência mesmo pra compilar de tudo!  Outra coisa que eu não gosta em distro que você tem que compilar de tudo é que na maioria das vezes a qualidade na renderização das fontes e do áudio  é muito pobre! Agora em matéria de desempenho dá diferença mesmo, isso eu mesmo já comprovei também!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Abril de 2011, 21:58
Otimo tutorial, estou compilando o Kernel para o meu Atom. Se tudo der certo, vou ficar com o combo : EXT4 tunado + Omnislash (com o makefile otimizado) + JFS + Fluxbox/Gnome + instalação minima.

Obrigado!

Vai ficar muito bala! Você não se confundiu? EXT4 e JFS? Qual dos dois você vai usar?  
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Wagnesio em 22 de Abril de 2011, 22:14
EXT4, é que me empolguei escrevendo xP
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: cesargcomp em 22 de Abril de 2011, 23:11
Sensacional!!!! galactus, você já não me surpreende mais... Aliás, sempre me surpreende!!! hehehhehehe

Parabéns pelo tutorial! 1 voto para fixar o tópico.

Estou testando as dicas agora para compilar o 2.6.38.3 com BFS+BFQ - preempt + 1000 mhz + performance em um Atlhon 64 com 1,5 Gb RAM mas compilando kernel 32 bits.

Edit.: Fiz a compilação e removi tudo que achava desnecessário. Para minha surpres... Funcionou!!!!! E agora tenho um consumo de memória de 128 Mb ao iniciar o sistema. É claro que removi praticamente todos os applets do gnome-panel, removi um painel e coloquei o tint2 como segundo painel. Ficou show!!!! Valeu mesmo galactus! Taí uma screenshot do meu desktop com o htop mostrando a memória usada.

(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg824.imageshack.us%2Fimg824%2F1008%2Fkernel26383.th.jpg&hash=67d8900eaf063a90e177b07ad7a703a0c58e178c) (http://img824.imageshack.us/i/kernel26383.jpg/)
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 26 de Abril de 2011, 19:20
Parabéns Galactus por disponibilizar um tutorial tão didático. Para quem está começando a estudar o sistema a sua explicação é bem esclarecedora.

Tenho uma dúvida: Usando uma distro como Ubuntu 10.04LTS, normalmente o sistema oferece atualizações para o kernel padrão. Então, ao compilar um kernel otimizado para um netbook por exemplo, numa atualização futura o usuário deveria deixar de lado as atualizações kernel image, kernel headers e headers files, certo?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 27 de Abril de 2011, 07:59
Parabéns Galactus por disponibilizar um tutorial tão didático. Para quem está começando a estudar o sistema a sua explicação é bem esclarecedora.

Tenho uma dúvida: Usando uma distro como Ubuntu 10.04LTS, normalmente o sistema oferece atualizações para o kernel padrão. Então, ao compilar um kernel otimizado para um netbook por exemplo, numa atualização futura o usuário deveria deixar de lado as atualizações kernel image, kernel headers e headers files, certo?

Com certeza, até porque o kernel do lucid é o problemático 2.6.32.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 27 de Abril de 2011, 10:14
Sensacional!!!! galactus, você já não me surpreende mais... Aliás, sempre me surpreende!!! hehehhehehe

Parabéns pelo tutorial! 1 voto para fixar o tópico.

Estou testando as dicas agora para compilar o 2.6.38.3 com BFS+BFQ - preempt + 1000 mhz + performance em um Atlhon 64 com 1,5 Gb RAM mas compilando kernel 32 bits.

Edit.: Fiz a compilação e removi tudo que achava desnecessário. Para minha surpres... Funcionou!!!!! E agora tenho um consumo de memória de 128 Mb ao iniciar o sistema. É claro que removi praticamente todos os applets do gnome-panel, removi um painel e coloquei o tint2 como segundo painel. Ficou show!!!! Valeu mesmo galactus! Taí uma screenshot do meu desktop com o htop mostrando a memória usada.

(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg824.imageshack.us%2Fimg824%2F1008%2Fkernel26383.th.jpg&hash=67d8900eaf063a90e177b07ad7a703a0c58e178c) (http://img824.imageshack.us/i/kernel26383.jpg/)


Que ótimo que funcionou direitinho aí!  Sentiu muita diferença? Que Atlhon 64 você têm?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 27 de Abril de 2011, 10:23
Parabéns Galactus por disponibilizar um tutorial tão didático. Para quem está começando a estudar o sistema a sua explicação é bem esclarecedora.

Tenho uma dúvida: Usando uma distro como Ubuntu 10.04LTS, normalmente o sistema oferece atualizações para o kernel padrão. Então, ao compilar um kernel otimizado para um netbook por exemplo, numa atualização futura o usuário deveria deixar de lado as atualizações kernel image, kernel headers e headers files, certo?

Obrigado!

Você vai ter que escolher qual Kernel usar no dia-a-dia!  Se usar um kernel experimental, vai perder todas as atualizações da equipe do Ubuntu!  Nada impede você de fazer algo parecido como faz o vampire, usar um fonte do kernel do Ubuntu, já com todas as alterações da equipe e recompilar o mesmo!  Eu prefiro usar um kernel experimental diariamente, mas não paro de atualizar o kernel oficial!  Se ocorrer qualquer problema com o de teste tem outro kernel que eu sei que vai funcionar!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 27 de Abril de 2011, 18:21
Eu uso muito um Asus Eee PC 1000HA (principalmente por ser pequeno, leve e fácil de carregar para uma sala de aula) e fiz a instalação do Ubuntu 10.04LTS nele deixando /home separada. Em relação ao Windows XP que veio embarcado, o Ubuntu funciona muito bem, mas depois de ler sobre compilação de kernel, acredito que possa melhorar o desempenho dele.

Instalei o 10.04LTS por que queria uma versão com suporte prolongado, para não ter que ficar formatando o sistema a cada versão lançada. Antes, testei o 10.10 no desktop e percebi que ocorriam alguns bugs.

A minha intenção é compilar a última versão estável do kernel para utilizar nessa instalação 10.04LTS, com o objetivo de continuar atualizando o sistema.

Como disse antes, estou começando a estudar o Linux. Pelo que entendi, numa instalação de algum aplicativo ou pacote pelo synaptic, o sistema configura o pacote com base no headers do kernel. Então, se eu estiver usando um kernel novo e otimizado para meu hardware, como ficaria essa questão? A compilação gera o kernel headers e headers files?

Por estar usando uma versão antiga e LTS eu posso compilar a partir de um kernel mais atualizado?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 27 de Abril de 2011, 21:32
Eu uso muito um Asus Eee PC 1000HA (principalmente por ser pequeno, leve e fácil de carregar para uma sala de aula) e fiz a instalação do Ubuntu 10.04LTS nele deixando /home separada. Em relação ao Windows XP que veio embarcado, o Ubuntu funciona muito bem, mas depois de ler sobre compilação de kernel, acredito que possa melhorar o desempenho dele.

Instalei o 10.04LTS por que queria uma versão com suporte prolongado, para não ter que ficar formatando o sistema a cada versão lançada. Antes, testei o 10.10 no desktop e percebi que ocorriam alguns bugs.

A minha intenção é compilar a última versão estável do kernel para utilizar nessa instalação 10.04LTS, com o objetivo de continuar atualizando o sistema.

Como disse antes, estou começando a estudar o Linux. Pelo que entendi, numa instalação de algum aplicativo ou pacote pelo synaptic, o sistema configura o pacote com base no headers do kernel. Então, se eu estiver usando um kernel novo e otimizado para meu hardware, como ficaria essa questão? A compilação gera o kernel headers e headers files?

Por estar usando uma versão antiga e LTS eu posso compilar a partir de um kernel mais atualizado?

Perfeitamente! É o caso do Lineduc, que é baseado no 10.04 e atualmente está com o kernel .38 no repositório:
http://forum.lineduc.ctics.sigeduc.info/viewforum.php?f=2&sid=dd148d236536cd600bb1406cab96cf3b

Edit: Formatei meu sistema para testar uma instalação, e depois de alguns dias hoje eu voltei a compilar o kernel do Lineduc. Comecei com o GCC padrão do 10.04, o 4.4, e na hora da compilação, dei um "ps ax | grep gcc | grep march", e o terminal não me retornou absolutamente nada. Então fiz a atualização do GCC para a versão 4.5 e voltei a executar o comando. Com isso ele retornou os valores corretamente.
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg215.imageshack.us%2Fimg215%2F817%2Fmarchyg.th.png&hash=3704bce2ef5e24e29da0df58968ba92788de91b5) (http://img215.imageshack.us/i/marchyg.png/)

Portanto é extremamente importante atualizar também o GCC. Sigam as dicas na ordem:
http://ubuntuforum-br.org/index.php/topic,76787.msg449953.html#msg449953
http://ubuntuforum-br.org/index.php/topic,76787.msg427436.html#msg427436
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 28 de Abril de 2011, 09:23
@vampire Esse comando no 11.04 retorna porém o "march" não vem destacado do resto deixando bem dificil saber as opções de compilação...
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: cesargcomp em 28 de Abril de 2011, 14:38
Sensacional!!!! galactus, você já não me surpreende mais... Aliás, sempre me surpreende!!! hehehhehehe

Parabéns pelo tutorial! 1 voto para fixar o tópico.

Estou testando as dicas agora para compilar o 2.6.38.3 com BFS+BFQ - preempt + 1000 mhz + performance em um Atlhon 64 com 1,5 Gb RAM mas compilando kernel 32 bits.

Edit.: Fiz a compilação e removi tudo que achava desnecessário. Para minha surpres... Funcionou!!!!! E agora tenho um consumo de memória de 128 Mb ao iniciar o sistema. É claro que removi praticamente todos os applets do gnome-panel, removi um painel e coloquei o tint2 como segundo painel. Ficou show!!!! Valeu mesmo galactus! Taí uma screenshot do meu desktop com o htop mostrando a memória usada.

(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg824.imageshack.us%2Fimg824%2F1008%2Fkernel26383.th.jpg&hash=67d8900eaf063a90e177b07ad7a703a0c58e178c) (http://img824.imageshack.us/i/kernel26383.jpg/)


Que ótimo que funcionou direitinho aí!  Sentiu muita diferença? Que Atlhon 64 você têm?

Tenho um AMD Athlon 64 3200+ - ADA3200DAA4BW (ADA3200BWBOX) Soquet 939 Cahe L2 512 kB (sofrível) - Mas é uma máquina até boa. Senti uma diferença imensa. Normalmente uso o kernel liquorix (excelente, por sinal) mas consegui ficar mais rápido que ele. Problemas? Sim. Ao abrir, por exemplo, um vídeo o som não aparece e sim chiados. Fecho o vídeo e vou abrindo até que uma hora funciona (estranho, acho que removi coisa demais). A internet ficou uma bala no navegador mas... Eu jogo Urban Terror e com essa compilação tá impossível jogar pois há uma oscilação na rede dentro do jogo. Ao voltar para o liquorix, nenhum desses problemas acontece. TEnho que rever meus parâmetros para retirar alguns drivers. E como tenho 1,5 Gb, será que vale a pena usar o SO de 64 bits?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 28 de Abril de 2011, 15:23
Quem bom que melhorou bastante cesargcomp, não acho que vale a pena partir para 64bits com 1.5GB de RAM!  A parte de multimídia ficaria um pouco melhor, mas o consumo de RAM aumenta muito!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 29 de Abril de 2011, 19:15
Parabéns Galactus por disponibilizar um tutorial tão didático. Para quem está começando a estudar o sistema a sua explicação é bem esclarecedora.

Tenho uma dúvida: Usando uma distro como Ubuntu 10.04LTS, normalmente o sistema oferece atualizações para o kernel padrão. Então, ao compilar um kernel otimizado para um netbook por exemplo, numa atualização futura o usuário deveria deixar de lado as atualizações kernel image, kernel headers e headers files, certo?

Obrigado!

Você vai ter que escolher qual Kernel usar no dia-a-dia!  Se usar um kernel experimental, vai perder todas as atualizações da equipe do Ubuntu!  Nada impede você de fazer algo parecido como faz o vampire, usar um fonte do kernel do Ubuntu, já com todas as alterações da equipe e recompilar o mesmo!  Eu prefiro usar um kernel experimental diariamente, mas não paro de atualizar o kernel oficial!  Se ocorrer qualquer problema com o de teste tem outro kernel que eu sei que vai funcionar!

Pelo que reparei no processo de instalação dos kerneis atualizados pela equipe ubuntu (atualização automática), os kerneis são colocados no sistema e gerenciados pelo grub com a prioridade para o mais atual (na configuração padrão). Então, se eu compilar o kernel atualizado, na sua última versão estável, e continuar atualizando o sistema, teoricamente o kernel compialdo seria sempre o primeiro da lista a ser carregado? O Ubuntu 10.04LTS usa o kernel 2.6.32, enquanto que o último já está na versão 2.6.38, se não me engano, e dessa forma seria sempre o primeiro da lista certo?

Outra coisa que pelo que entendi poderia trazer problemas é o headers para esse kernel compilado. Se o sistema consulta as informações desse arquivo para cada instalação de pacotes ou aplicativos pelo apt-get, o meu kernel compilado e otimizado não seria o mesmo para o arquivo headers existente e isso atrapalharia o funcionamento da instalações de pacotes pelo apt-get. Certo?

... ainda estou engatinhando no que refere à compreensão do sistema e dos processos de compilação.

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 30 de Abril de 2011, 19:03
Aleluia !!!!!!! :D

Sem querer abusar, vc poderia criar um pdf como fizeste com o tutorial do ext4 ?  ::)  ::)  ::)

Muito Obrigado !!!

Pedido atendido!

Versão em PDF no final do Tuto!

Agora, rumo ao tuto do menuconfig!!!!  ;)
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: 4d4c47 em 01 de Maio de 2011, 05:40
Pô cara, ficou massa demais o tutorial,

valeu por ter lembrado aé de nois...

muito bom mesmo.

passei um tempo longe da internet, mas agora estou de volta, to começando a testar o 2.6.38,

logo logo me reconecto no espiroto dos kernels do forum,

valeu.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 01 de Maio de 2011, 10:16
Pô cara, ficou massa demais o tutorial,

valeu por ter lembrado aé de nois...

muito bom mesmo.

passei um tempo longe da internet, mas agora estou de volta, to começando a testar o 2.6.38,

logo logo me reconecto no espiroto dos kernels do forum,

valeu.

Grande 4d4c47 !  Você tava sumido mesmo cara!  Qué isso, como eu disse o tuto não é só meu!  Que bom que gostou!  Estou no aguardo do 2.6.38 do Hqxriven!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: mariojuniorjp em 01 de Maio de 2011, 18:28
Agora vem a pergunta NOOB: Qual o comando para iniciar a compilação do kernel?  ??? ??? ;D
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Andreson Goveia em 01 de Maio de 2011, 20:25
Agora vem a pergunta NOOB: Qual o comando para iniciar a compilação do kernel?  ??? ??? ;D
Veja aqui

http://ubuntuforum-br.org/index.php/topic,29799.msg375471.html#msg375471
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 01 de Maio de 2011, 21:04
Galactus

Antes de "colocar a mão na massa" com as instruções do seu tutorial, estou pesquisando e estudando o funcionamento do sistema, até para fazer as configurações corretas. A minha dúvida se refere aos kernel-headers e header-files.

Pelo que entendi, resumindo de maneira didática para uma usuário iniciante como eu, os Kernel-headers, seriam os cabeçalhos do Kernel que está sendo usado pelo sistema, com partes do código fonte do mesmo. Esses cabeçalhos seriam utilizados sempre que o compilador precisa ao compilar um determinado programa, pois contém o código para as funções de baixo nível (específicas) do kernel, que são necessários para que os módulos se acoplem.

Já os header-files seriam os arquivos de linguagem C com os scripts para execução dessas funções.

Assim, ao compilar um kernel otimizado a partir do código fonte de uma versão mais atual que a suportada pelo sistema, sem o kernel-headers e os headers-files, acredito que o sistema ficaria "congelado", impedido de receber a instalação de novos pacotes.

Então, pesquisando na rede e procurando estudar e compreender essas informações, encontrei um artigo do Carlos E. Morimoto que trata da compilação para Debian: http://www.hardware.com.br/guias/debian-desktops/compilando-kernel-debian.html

Nesse artigo, Morimoto esclarece:
Citar
Se você quer que sejam gerados também pacotes com o fonte e os headers do kernel, use o comando:

 # make-kpkg --revision=meu.0.1 kernel_image kernel_source kernel_headers

Neste caso, serão gerados três pacotes no total, contendo o "kit completo" do kernel, incluindo os headers e também o código-fonte completo. Como comentei em outros tópicos, os headers são necessários para instalar drivers e módulos adicionais, por isso são sempre importantes. Ele é especialmente importante se você pretende distribuir o kernel ou instalá-lo em várias máquinas.

O pacote com o fonte permite que outras pessoas recompilem o seu kernel, aplicando patches adicionais ou alterando a configuração.

Acredito que esse comando pode ser uma solução para o problema que estou pensando (imaginando) e gostaria de saber sua opinião sobre a utilização do mesmo.

Como já disse, pretendo sim compilar um kernel otimizado para meu Eee PC 1000HA, a partir de uma versão de kernel que é bem superior ao padrão que se adota no Ubuntu 10.04. Como imagino que esse kernel ficaria como o principal a ser carregado, pretendo utilizá-lo por um bom tempo e nesse tempo, eventualmente poderia adicionar um ou outro pacote ou aplicativo, que no meu entendimento poderia não funcionar caso não exista os cabeçalhos desse kernel.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 01 de Maio de 2011, 22:20
xluisfernando, suas informações estão corretas, e o tutorial do Morimoto, que são sempre ótimos, mostra a opção completa para compilar o kernel! Aliás, no primeiro tutorial do kernel do Hqxriven, ele compilava também o kernel_source, que depois ele retirou não sei o motivo!

Se você for ficar compilando drivers de placa de vídeo, o módulo do Virtualbox ou do Vmware entre outros, você vai precisar do kernel_source! Portanto, use a linha completa do Morimoto: kernel_image kernel_source kernel_headers ! A compilação vai demorar mais para criar o source, mas vai te poupar muita dor de cabeça depois!

Um exemplo prático é o do Virtualbox! Se você for usar um kernel experimental, mesmo com a ferramenta do dkms, ele procura os fontes do kernel que você está usando no momento da instalação, se ele não o encontra a instalação do virtualbox é abortada! Daí você só consegue usar o virtualbox com o kernel oficial do Ubuntu! Você é obrigado a fazer e instalar o kernel image, senão o sistema nem inicia!  Mesmo com o headers "quebrado", o sistema sobe, mas algum hardware não vai funcionar! 


Siga o tutorial do Hqxriven mesmo, o link que o Andry colocou logo acima: http://ubuntuforum-br.org/index.php/topic,29799.msg375471.html#msg375471
E acrescenta na linha: make-kpkg --initrd --revision=x86 kernel_image kernel_headers modules_image , o kernel_source! Vai ficar assim:

#make-kpkg --initrd --revision=x86 kernel_image kernel_source kernel_headers modules_image

Espero ter ajudado mais que complicado!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Andreson Goveia em 01 de Maio de 2011, 22:48
Eu fiz a compilação de acordo com o que o HQ colocou no tutorial e tenho instalado o Virtual box e funciona perfeitamente.
(aqui não compilou o kernel_source).
Então fiquei sem entender :-\ :-\
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 01 de Maio de 2011, 22:57
o modules_image adiciona no .deb os modulos compilados?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 02 de Maio de 2011, 00:57
Eu fiz a compilação de acordo com o que o HQ colocou no tutorial e tenho instalado o Virtual box e funciona perfeitamente.
(aqui não compilou o kernel_source).
Então fiquei sem entender :-\ :-\

Eu também!  Você instalou o virtualbox usando o kernel do Hqx ou o genérico do Ubuntu?

No trabalho eu não consigo instalar o virtualbox sem o source do kernel! Dá erro!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Andreson Goveia em 02 de Maio de 2011, 01:01
Eu fiz a compilação de acordo com o que o HQ colocou no tutorial e tenho instalado o Virtual box e funciona perfeitamente.
(aqui não compilou o kernel_source).
Então fiquei sem entender :-\ :-\

Eu também!  Você instalou o virtualbox usando o kernel do Hqx ou o gnérico do Ubuntu?

No trabalho eu não consigo instalar o virtualbox sem o source do kernel! Dá erro!
Ubuntu generic

Lembrei que quando eu compilei já estava instalado, mas funcionou normal.
Estou no Kubuntu 11.04 64Bits, instalei via ppa

deb http://download.virtualbox.org/virtualbox/debian natty contrib

Key
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

Edit:

A agora me veio na mente o que pode estar ocorrendo.
Deve ser por que é o mesma "versão do kernel", o do ubuntu é 2.6.38-8...-generic, o meu é 2.6.38.4

Pode ser por isso.
Já no ubuntu 10.10 a versão é a 2.6.35(ubuntu) e as compilações que você fazem é do 2.6.38 certo??
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 02 de Maio de 2011, 01:13
Eu fiz a compilação de acordo com o que o HQ colocou no tutorial e tenho instalado o Virtual box e funciona perfeitamente.
(aqui não compilou o kernel_source).
Então fiquei sem entender :-\ :-\

Eu também!  Você instalou o virtualbox usando o kernel do Hqx ou o gnérico do Ubuntu?

No trabalho eu não consigo instalar o virtualbox sem o source do kernel! Dá erro!
Ubuntu generic

Lembrei que quando eu compilei já estava instalado, mas funcionou normal.
Estou no Kubuntu 11.04 64Bits, instalei via ppa

deb http://download.virtualbox.org/virtualbox/debian natty contrib

Key
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

Edit:

A agora me veio na mente o que pode estar ocorrendo.
Deve ser por que é o mesma "versão do kernel", o do ubuntu é 2.6.38-8...-generic, o meu é 2.6.38.4

Pode ser por isso.
Já no ubuntu 10.10 a versão é a 2.6.35(ubuntu) e as compilações que você fazem é do 2.6.38 certo??

Acredito que agora esclareceu tudo! Eu compilo ainda o 2.6.34, o ubuntu 10.10 usa o 2.6.35, o 11.04 usa o 2.6.38!  Se eu instalo o virtualbox com o 2.6.35, ele não funciona no 2.6.34!  E vice-versa!  Sou obrigado a executar o comando para recriar os módulos do kernel para o virtualbox quando mudo o kernel!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 02 de Maio de 2011, 01:15
o modules_image adiciona no .deb os modulos compilados?

O modules_image deveria criar .deb na pasta /usr/src/modules para cada sub-diretório! Isso serve para módulos de terceiros que não estão inclusos na árvore do kernel!

Dá uma lida:

http://man.he.net/man1/make-kpkg

http://newbiedoc.sourceforge.net/system/kernel-pkg.html#KPKG-KERNEL-PKG
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 02 de Maio de 2011, 08:36

Pedido atendido!

Versão em PDF no final do Tuto!

Agora, rumo ao tuto do menuconfig!!!!  ;)

Eim? Tuto do menuconfig?

O parâmetro kernel_source cria o pacote deb com o código fonte, mas ao ser instalado, ele vai compactado para a pasta /usr/src. Então na prática não significa nada se não for descompactado.
Aqui eu sempre instalei o VirtualBox sem o source. Basta dar o comando "etc/init.d/vboxdrv setup" quando estiver no kernel compilado. O headers faz a função do source.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 02 de Maio de 2011, 09:20

Pedido atendido!

Versão em PDF no final do Tuto!

Agora, rumo ao tuto do menuconfig!!!!  ;)

Eim? Tuto do menuconfig?

O parâmetro kernel_source cria o pacote deb com o código fonte, mas ao ser instalado, ele vai compactado para a pasta /usr/src. Então na prática não significa nada se não for descompactado.
Aqui eu sempre instalei o VirtualBox sem o source. Basta dar o comando "etc/init.d/vboxdrv setup" quando estiver no kernel compilado. O headers faz a função do source.

É ué, tuto sobre o menuconfig!  Explicando mais algumas coisas também!  O "povo" fica perdido com aquele monte de opções né!


Tá, então me explica isso aqui referente ao virtualbox:


Citar
root@Lubuntu64bits:/home/galactus# uname -a
Linux Lubuntu64bits 2.6.34-omnislash1.4.4 #1 SMP Fri Mar 18 15:01:18 BRT 2011 x86_64 GNU/Linux
root@Lubuntu64bits:/home/galactus# /etc/init.d/vboxdrv setup
 * Stopping VirtualBox kernel modules                                                                                 [ OK ]
 * Uninstalling old VirtualBox DKMS kernel modules                                                                           
Error! There are no instances of module: vboxhost
4.0.6 located in the DKMS tree.
                                                                                                                      [ OK ]
 * Trying to register the VirtualBox kernel modules using DKMS                                                               
Error! Your kernel headers for kernel 2.6.34-omnislash1.4.4 cannot be found at
/lib/modules/2.6.34-omnislash1.4.4/build or /lib/modules/2.6.34-omnislash1.4.4/source.


 * Failed, trying without DKMS
 * Recompiling VirtualBox kernel modules                                                                                     
 * Look at /var/log/vbox-install.log to find out what went wrong
root@Lubuntu64bits:/home/galactus#


Citar
DKMS: add Completed.
You can use the --kernelsourcedir option to tell DKMS where it's located, or you could install the linux-headers-2.6.34-omnislash1.4.4 package.
Failed to install using DKMS, attempting to install without
Makefile:172: Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.

make KBUILD_VERBOSE=1 SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -C /usr/src/linux modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (      \
   echo;                        \
   echo "  ERROR: Kernel configuration is invalid.";      \
   echo "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
   echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";   \
   echo;                        \
   /bin/false)

  ERROR: Kernel configuration is invalid.
         include/generated/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.

mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*

  WARNING: Symbol version dump /usr/src/linux-2.6.38/Module.symvers
           is missing; modules will have no dependencies and modversions.

make -f scripts/Makefile.build obj=/tmp/vbox.0
/tmp/vbox.0/Makefile:172: Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.
  gcc -Wp,-MD,/tmp/vbox.0/linux/.SUPDrv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include -I/usr/src/linux-2.6.38/arch/x86/include -Iinclude  -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -include /tmp/vbox.0/include/VBox/SUPDrvMangling.h -I/usr/src/linux/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -I/tmp/vbox.0/vboxdrv/ -I/tmp/vbox.0/vboxdrv/include -I/tmp/vbox.0/vboxdrv/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(SUPDrv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/linux/SUPDrv-linux.o /tmp/vbox.0/linux/SUPDrv-linux.c
cc1: fatal error: include/generated/autoconf.h: Arquivo ou diretório não encontrado
compilation terminated.
make[2]: ** [/tmp/vbox.0/linux/SUPDrv-linux.o] Erro 1
make[1]: ** [_module_/tmp/vbox.0] Erro 2
make: ** [vboxdrv] Erro 2

Sendo que o kernel headers foi compilado e instalado! 
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 02 de Maio de 2011, 16:03
Mas é o VirtualBox da Oracle ou o OSE?

Vai ver que o motivo é realmente porque você está com uma versão mais antiga de kernel. Eu sempre compilei versões mais novas.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Ricardo_Branco em 03 de Maio de 2011, 20:48
Galactus...
Olhando o forum do Arch achei um link... se quiser avaliar para ver se ajuda no tuto do menuconfig...

Citar
Estou vendo como funciona o menuconfig.
E encontrei esta documentação..

http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html

http://forum.archlinux-br.org/viewtopic.php?id=2755
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 03 de Maio de 2011, 23:49
Mas é o VirtualBox da Oracle ou o OSE?

Vai ver que o motivo é realmente porque você está com uma versão mais antiga de kernel. Eu sempre compilei versões mais novas.

É o VirtualBox da Oracle! Rapaz eu não sei! Só sei que dá erro no Atom e não dá erro no i7!  Eu acho que tem haver com os módulos para virtualização que eu retirei do kernel do Atom por ele não ter suporte a isso!!!! Foi a única conclusão que cheguei no momento!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 03 de Maio de 2011, 23:50
Galactus...
Olhando o forum do Arch achei um link... se quiser avaliar para ver se ajuda no tuto do menuconfig...

Citar
Estou vendo como funciona o menuconfig.
E encontrei esta documentação..

http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html

http://forum.archlinux-br.org/viewtopic.php?id=2755

Opa!  Toda informação é bem vinda!

Obrigado!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 04 de Maio de 2011, 17:13
Mas é o VirtualBox da Oracle ou o OSE?

Vai ver que o motivo é realmente porque você está com uma versão mais antiga de kernel. Eu sempre compilei versões mais novas.

É o VirtualBox da Oracle! Rapaz eu não sei! Só sei que dá erro no Atom e não dá erro no i7!  Eu acho que tem haver com os módulos para virtualização que eu retirei do kernel do Atom por ele não ter suporte a isso!!!! Foi a única conclusão que cheguei no momento!

Virtualização? Então provavelmente é isso.
Mas também pode ser da máquina, pois no meu notebook eu tive de ativar uma opção na Bios para que o VirtualBox rodasse sistemas 64 bits. Mas ainda acho que isso não interferiria na instalação.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 05 de Maio de 2011, 11:56
Não tem como mesmo fazer cross-compile de 32bit para 64bits????

Já tentei adicionar o parametro -m64 e não da certo... No comando
CONCURRENCY_LEVEL=3 make-kpkg --cross-compile -m64 --arch=amd64 --revision=2.0hazai --initrd kernel_image kernel_headers modules_image

ele retorna erro e já instalei 'lib64gcc1','libc6-amd64' e 'libc6-dev-amd64' pra ver se dava, mas sem jeito até agora.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 06 de Maio de 2011, 07:53
Não dá, rapaz, é arquitetura superior.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 06 de Maio de 2011, 09:03
vampire, comecei o relato do uso do seu kernel 2.6.38 no seu Fórum! Olha lá!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 07 de Maio de 2011, 10:56
vampire, comecei o relato do uso do seu kernel 2.6.38 no seu Fórum! Olha lá!

Já vi lá. Valeu mesmo!


Uma coisa que me deixou encucado nas ultimas versões do 2.6.38 foi que a opção de habilitar o patch de 200 linhas sumiu. Essa aqui:
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg715.imageshack.us%2Fimg715%2F8629%2Ffigura4u.th.png&hash=9ff09695740886efd9a4871bd68097aa11963012) (http://img715.imageshack.us/i/figura4u.png/)
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 07 de Maio de 2011, 11:27
vampire, comecei o relato do uso do seu kernel 2.6.38 no seu Fórum! Olha lá!

Já vi lá. Valeu mesmo!


Uma coisa que me deixou encucado nas ultimas versões do 2.6.38 foi que a opção de habilitar o patch de 200 linhas sumiu. Essa aqui:
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg715.imageshack.us%2Fimg715%2F8629%2Ffigura4u.th.png&hash=9ff09695740886efd9a4871bd68097aa11963012) (http://img715.imageshack.us/i/figura4u.png/)

Essa opção some quando você deixa marcado o BFS. Lembra que o patch de 200 linhas só funciona no CFS??
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 07 de Maio de 2011, 18:34
Poutz, é verdade.
Vou ter que testar aqui para ver qual fica melhor.
(vou contar com os companheiros de teste também, rsrs).
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 07 de Maio de 2011, 19:06
Poutz, é verdade.
Vou ter que testar aqui para ver qual fica melhor.
(vou contar com os companheiros de teste também, rsrs).

Aqui ficou melhor com o BFS. Claro, se meter um make -j64 fica melhor com o CFS + patch, caso contrario...
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 07 de Maio de 2011, 21:56
Eu instalei no meu Eee PC o kernel 2.6.38 na minha instalação 10.04LTS via ppa e  já reparei que a bateria está durando mais. Então, considerando a compilação, devo optar por compilar um kernel baixado diretamente do site oficial ou compilar a versão disponibilizada no repositório do Ubuntu?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: wesleydee em 14 de Maio de 2011, 23:48
bom sou totalente novo nesse mundo , começei as algumas semanas e estou tentando fazer alguma modificaçoes , eu mudei a linha do makefile de acordo o meu CPU ATOM do meu net book D-250

# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
     else if [ -x /bin/bash ]; then echo /bin/bash; \
     else echo sh; fi ; fi)

HOSTCC       = gcc
HOSTCXX      = g++
HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -pipe -fomit-frame-pointer -march=native -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=24 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=generic
HOSTCXXFLAGS = -O2

mais nao consigo salvar quando eu mudo a linhda original para

-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -pipe -fomit-frame-pointer -march=native -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=24 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=generic

nao salva e quando eu vou sustituir fala que eu nao tenho permisao , me desculpem se minha pergunta é totalmente tosca :( ..

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 15 de Maio de 2011, 10:52
Você tem que abrir o arquivo como root.

Pessoal, fiz os procedimentos, desta vez com um Duron 900, com 256 MB de RAM, sendo que 16 MB estão indo para a placa de vídeo. O Gnome não ficou bom. Aliás, o gnome normal nem entra, só em modo seguro. Já com LXDE ficou bem melhor. Mas a pouca memória atrapalha muito, ainda. Os programas demoram para abrir, dado o pouco cache (se não me engano, nenhum, pois essa era a diferença entre o Duron e o Athlon) do processador.

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 15 de Maio de 2011, 12:04
Agora uma dúvida!!

no make manuconfig

na opção processadores, eu posso escolher a familia, so fazendo isso já não estaria habilitando os recursos do processador, ou eu teria que mexer nos dois, ou somente em um ou outtro?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 15 de Maio de 2011, 18:21
Agora uma dúvida!!

no make manuconfig

na opção processadores, eu posso escolher a familia, so fazendo isso já não estaria habilitando os recursos do processador, ou eu teria que mexer nos dois, ou somente em um ou outtro?

Se for compilar 64bits, deixa P4, se for 32 bits, PIII!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: wesleydee em 15 de Maio de 2011, 18:32
Você tem que abrir o arquivo como root.




opa valeu de certo :D
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 16 de Maio de 2011, 21:33
Fiz o procedimento, no makefile do kernel 2.6.39-rc7 e tá rodando liso!!

Nõa fiz o procedimento completo, em todos os arquivos que nosso amigo indicou..mais ficou bom,,,sentir uma melhor sensivel..

Depois, na nova atualização do kernel, vou fazer completo, como no tuto...

bela dica..
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: UnderEu em 19 de Maio de 2011, 01:28
Eu instalei no meu Eee PC o kernel 2.6.38 na minha instalação 10.04LTS via ppa e  já reparei que a bateria está durando mais. Então, considerando a compilação, devo optar por compilar um kernel baixado diretamente do site oficial ou compilar a versão disponibilizada no repositório do Ubuntu?

Se vc compilar seguindo esse tutorial à risca, a tendência é só trazer vantagem ao seu equipamento.

Só pra fazer uma média...:
Seu eee-PC vai rodar mais "liso";
Vai responder mais rápido aos comandos do usuário;
Bateria dele tende a durar mais;
Enfim, como já citado no próprio tutorial.

Sugestão: faça os testes.
Teste o kernel genérico; Teste kernels otimizados; Compile kernels otimizados com esse tutorial (como, por exemplo, o Omnislash e o Liquorix). Compilar o kernel genérico não vale o esforço (nada contra, mas pelo menos eu não gastaria tempo com algo sem muitos ganhos).
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: jcpalanca em 19 de Maio de 2011, 16:38
Pessoal,
fiz toda a compilaçao da maneira que esta no tuto.
após o boot, minha tela fica preta. eu suspeito do driver de video. é uma intel  q963/965
tudo bem, nem preciso do X. como eu faço pra entrar em modo texto mesmo ?
ja tentei colocar la no /etc/event.d/rc-default, o telinit 3 mas, mesmo assim ele entra no X
alguem pode me ajudar ?
obrigado. abs
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 21 de Maio de 2011, 07:17
Pessoal,
fiz toda a compilaçao da maneira que esta no tuto.
após o boot, minha tela fica preta. eu suspeito do driver de video. é uma intel  q963/965
tudo bem, nem preciso do X. como eu faço pra entrar em modo texto mesmo ?
ja tentei colocar la no /etc/event.d/rc-default, o telinit 3 mas, mesmo assim ele entra no X
alguem pode me ajudar ?
obrigado. abs

Caro jcpalanca, este tutorial não interfere na parte gráfica! Altera apenas as otimizações do processador!  Talvez você tenha retirado coisa demais do seu  Menuconfig/xconfig!  Para forçar o Ubuntu a entrar no modo texto existem algumas dicas espalhadas por aí, e se não estou enganado uma aqui do Fórum mesmo, a que me lembro agora é esta: http://www.vivaolinux.com.br:443/artigo/Modo-texto-no-Ubuntu-10.10-definitivo-rapido-e-pratico/

Te+
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 21 de Maio de 2011, 07:26
Excelentes notícias pessoal!

O havocz que mandou esta novidade fantástica!

Foi criado um patch recentemente  para tornar automática a escolha do -march=native na hora da compilação!  Ou seja, não vai mais precisar alterar os arquivos "na unha" como mostrado aqui! Você marcaria essa opção no Menuconfig ou similiar! Esse patch vale para versões do GCC igual ou acima da 4.2!

Vou colocar a dica dele na integra:


Citar
havocz

Bom dia,

       Após usufruir de seu tutorial para compilação alterando as CFLAGS me perguntei: "por que não criam um patch pra isso ?". Daí fui no git do zen-kernel que eu lembrei que tinha algo assim.

      Pois bem, lá tem um patch que cria uma opção para isso na parte de opções para o processador  8)

Como ainda não tive tempo para testar segue o link do git: http://git.zen-kernel.org/zen-stable/log/?h=march-native
      e o link do último "commit" do mesmo : http://git.zen-kernel.org/zen-stable/patch/?id=80faf1f3ea959d5612640f345b1d3897b7b2bcc5  (clique com o botão direito e use o salvar como   )

Obs.: como não mexo muito com patchs (só aplico), vc poderia encaminhar para nossos "patcheadores" de plantão para análise.

T +

Eu ainda não testei! Na verdade esse patch ainda está em teste também!  Alguns de nossos testadores de patchs se habilita? 

Mais uma vez obrigado havocz!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: havocz em 21 de Maio de 2011, 09:06
 ;) Disponha ! O ganho é da comunidade.

Apliquei este patch após aplicar o patch 2.6.39-ck1 (eu compilo sempre o último) e a opção apareceu e, por hora tudo funcionando.  :)

Só para registro, eu uso o patch pf-kernel (Post-factum): pf.natalenko.name

Ele tem o último -ck e acrescenta o escalonador de BFQ e o Tux-on-ice (hibernação melhorada, acho )
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 21 de Maio de 2011, 12:17
Eu já usei esse patch tem alguns meses, e quando eu dou o comando
"ps ax | grep gcc | grep march" aparecem várias entradas -march=i686 e nenhuma -march=native e não houve mudanças desde que usei.

Essa linha
" cflags-$(CONFIG_MCORE2)      += -march=i686 $(call tune,core2)"

Da pra ver que quem marcar Core2 o march será um i686 e ele usará um mtune=core2.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: havocz em 21 de Maio de 2011, 18:48
Eu já usei esse patch tem alguns meses, e quando eu dou o comando
"ps ax | grep gcc | grep march" aparecem várias entradas -march=i686 e nenhuma -march=native e não houve mudanças desde que usei.

Essa linha
" cflags-$(CONFIG_MCORE2)      += -march=i686 $(call tune,core2)"

Da pra ver que quem marcar Core2 o march será um i686 e ele usará um mtune=core2.


Sério ! Mas...

Editando então a linha de seu processador, no exemplo do caso acima, e deixando dessa forma:
Código: [Selecionar]
cflags-$(CONFIG_MCORE2) += -march=native $(call tune,native)Funcionaria ?  ???
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 21 de Maio de 2011, 20:38
Eu já usei esse patch tem alguns meses, e quando eu dou o comando
"ps ax | grep gcc | grep march" aparecem várias entradas -march=i686 e nenhuma -march=native e não houve mudanças desde que usei.

Essa linha
" cflags-$(CONFIG_MCORE2)      += -march=i686 $(call tune,core2)"

Da pra ver que quem marcar Core2 o march será um i686 e ele usará um mtune=core2.


Sério ! Mas...

Editando então a linha de seu processador, no exemplo do caso acima, e deixando dessa forma:
Código: [Selecionar]
cflags-$(CONFIG_MCORE2) += -march=native $(call tune,native)Funcionaria ?  ???

ai é que ta, se você ver, o patch faz poucas modificações que não parece em nada com as modificações que fazemos.
Posso estar falando coisa errada, mas da uma olhada no commit e vê as linhas que ele retira e adiciona pra ver como não parece em nada com as modificações que fazemos.

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: havocz em 21 de Maio de 2011, 21:19
Eu já usei esse patch tem alguns meses, e quando eu dou o comando
"ps ax | grep gcc | grep march" aparecem várias entradas -march=i686 e nenhuma -march=native e não houve mudanças desde que usei.

Essa linha
" cflags-$(CONFIG_MCORE2)      += -march=i686 $(call tune,core2)"

Da pra ver que quem marcar Core2 o march será um i686 e ele usará um mtune=core2.



Sério ! Mas...

Editando então a linha de seu processador, no exemplo do caso acima, e deixando dessa forma:
Código: [Selecionar]
cflags-$(CONFIG_MCORE2) += -march=native $(call tune,native)Funcionaria ?  ???

ai é que ta, se você ver, o patch faz poucas modificações que não parece em nada com as modificações que fazemos.
Posso estar falando coisa errada, mas da uma olhada no commit e vê as linhas que ele retira e adiciona pra ver como não parece em nada com as modificações que fazemos.


Humm... pelo menos o patch já aponta um caminho na edição das cflags.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 22 de Maio de 2011, 09:15
Hummm, acho que pode ser outra coisa também!  O Zen Kernel é desenvolvido em que distro?

Lembrem-se que deu o maior serviço descobrir como alterar os arquivos para o Ubuntu!  No Gentoo e no Arch não precisa fazer esse tipo de tutorial, quem sabe esse patch não serve mesmo para o Ubuntu, o Gunss mesmo relata a saída incorreta utilizando esse patch! 

Mas não deixa de ser um começo também! Havocz, tem como avisar o criador do patch que ele não funciona no Ubuntu? O que ele pode fazer para ele funcionar?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: jcpalanca em 23 de Maio de 2011, 12:23
Pessoal,
fiz toda a compilaçao da maneira que esta no tuto.
após o boot, minha tela fica preta. eu suspeito do driver de video. é uma intel  q963/965
tudo bem, nem preciso do X. como eu faço pra entrar em modo texto mesmo ?
ja tentei colocar la no /etc/event.d/rc-default, o telinit 3 mas, mesmo assim ele entra no X
alguem pode me ajudar ?
obrigado. abs

Caro jcpalanca, este tutorial não interfere na parte gráfica! Altera apenas as otimizações do processador!  Talvez você tenha retirado coisa demais do seu  Menuconfig/xconfig!  Para forçar o Ubuntu a entrar no modo texto existem algumas dicas espalhadas por aí, e se não estou enganado uma aqui do Fórum mesmo, a que me lembro agora é esta: http://www.vivaolinux.com.br:443/artigo/Modo-texto-no-Ubuntu-10.10-definitivo-rapido-e-pratico/

Te+

Galactus, eu não alterei nada no Menuconfig/xconfig.
apenas fechei a tela e dei sequencia no tutorial.
vou refazer a compilaçao. Aliáis, vou refazer tudo, inclusive a instalaçao do ubuntu.
Valeu Galactus, obrigado.
abs.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: valtincomp em 25 de Maio de 2011, 13:31
Galactus

Sou leigo ainda em compilação de kernel, fiz os passos que você descreveu, mas não sei os comandos para compilar, você poderia dar uma mão ai?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 26 de Maio de 2011, 09:32
Galactus

Sou leigo ainda em compilação de kernel, fiz os passos que você descreveu, mas não sei os comandos para compilar, você poderia dar uma mão ai?

Caro colega, essa pergunta já foi respondida inclusive neste mesmo tópico!

Tente usar esse tutorial primeiro: http://ubuntuforum-br.org/index.php/topic,29799.msg375471.html#msg375471

Isso até o Ubuntu 10.10! Você terá que fazer algumas modificações para o 11.04! 

Eu deixo claro no começo do tuto que ele não é para Leigos!!!!   Não estou dizendo que não serve para você, mas você vai ter que remar uma pouco mais para saber o que fazer!!!!  Por isso não coloco tudo, assumo que o usuário deste tuto já sabe o que fazer!

Mesmo assim, o tuto do HQx já é um ótimo começo!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gordin em 26 de Maio de 2011, 22:30
Galera, fui compilar o kernel 2.6.38.7 com o config padrão do ubuntu e os patches "0001-block-prepare-I-O-context-code-for-BFQ-v2-for-2.6.38.patch", "0002-block-cgroups-kconfig-build-bits-for-BFQ-v2-2.6.38.patch", "0003-block-introduce-the-BFQ-v2-I-O-sched-for-2.6.38.patch" e "patch-2.6.38-ck3" com o gcc 4.5.2 no lubuntu 11.04 e apareceu esse erro:

dpkg-deb: erro: analisando arquivo '/usr/src/linux-2.6.38.7/debian/linux-image-2.6.38.7-ck3/DEBIAN/control' próximo à linha 3 pacote 'linux-image-2.6.38.7-ck3':
 erro na string Versão 'custom.1.0': número da versão não começa com dígito
make[2]: ** [debian/stamp/binary/linux-image-2.6.38.7-ck3] Erro 2
make[2]: Saindo do diretório `/usr/src/linux-2.6.38.7'
make[1]: ** [debian/stamp/binary/pre-linux-image-2.6.38.7-ck3] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-2.6.38.7'
make: ** [kernel_image] Erro 2


Como posso resolver para conseguir isso?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Andreson Goveia em 26 de Maio de 2011, 22:36


Altera o comando final, na parte revision=x86.
Coloca revision=686, por exemplo...
no seu caso altera onde tem o custom.1.0
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gordin em 26 de Maio de 2011, 23:06


Altera o comando final, na parte revision=x86.
Coloca revision=686, por exemplo...
no seu caso altera onde tem o custom.1.0

Vou tentar agora, valeu!

edit = Deu certinho! Valeu Andry!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Ricardo_Branco em 05 de Junho de 2011, 13:53
Galactus... tem horas que me acho bobo, rs... confirma ai. EStou usando o gcc 4.5.2 entao para todos os arquivos usarei

-march=native -mtune=nomedafamíliadoprocessador

Isso?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 05 de Junho de 2011, 14:04
Galactus... tem horas que me acho bobo, rs... confirma ai. EStou usando o gcc 4.5.2 entao para todos os arquivos usarei

-march=native -mtune=nomedafamíliadoprocessador

Isso?

basta por -march=native
pronto, mais nada precisa ser feito.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: pigdin em 07 de Junho de 2011, 08:23
Caramba só para instalar o gcc 4.6 já está demorando pra k*c*t*, imagino para compilar, mas vamos à luta.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: alberto akel em 27 de Junho de 2011, 01:46
Alguém se habilita a criar um scrip para processadores intel i3,i5,i7?
facilitaria a vida de muito dos usuários que vem ao fórum?
sds
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Andreson Goveia em 03 de Agosto de 2011, 09:25
Vou compilar agora o Kernel 3.0 com os patch do Ubuntu e as otimizações para o meu processador e me deparei com algo que o Galatus vai gostar muito

Na saida do comando
Citar
cc -march=native -E -v - </dev/null 2>&1 | grep cc1

Agora tem novas opções veja o que apareceu no meu

Citar
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1 -E -quiet -v - -march=corei7-avx -mcx16 -msahf -mno-movbe -mno-aes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=corei7-avx -fstack-protector

O GCC é o 4.6.1 e estou rodando o Kubuntu 11.10

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 03 de Agosto de 2011, 12:34
Vou compilar agora o Kernel 3.0 com os patch do Ubuntu e as otimizações para o meu processador e me deparei com algo que o Galatus vai gostar muito

Na saida do comando
Citar
cc -march=native -E -v - </dev/null 2>&1 | grep cc1

Agora tem novas opções veja o que apareceu no meu

Citar
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1 -E -quiet -v - -march=corei7-avx -mcx16 -msahf -mno-movbe -mno-aes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=corei7-avx -fstack-protector

O GCC é o 4.6.1 e estou rodando o Kubuntu 11.10



Verdade Andry, eu já tinha notado isso! É por conta da versão do GCC mesmo!  Essa nova instrução Corei7-avx deveria liberar todo o poder da Advanced Vector Extensions, mais detalhes aqui: http://en.wikipedia.org/wiki/Advanced_Vector_Extensions

Mas nem sempre ativar essa instrução trará melhoras, pois a maioria dos programas não são compilados para isso!  Veja este teste bem completo do Phoronix: http://www.phoronix.com/scan.php?page=article&item=intel_avx_gcc&num=1

Tem casos em que ele melhora um monte o desempenho, em outros piora muito!

Agora veja você, essas instruções já estão "aí" desde de 2008!  Só agora a Intel as coloca nos SandyBridge!  Quanto tempo até os programadores otimizarem seus programas para essas instruções? Acaba que eu vou fazer testes com e sem essa instrução ativa!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 14 de Agosto de 2011, 12:54
Galactus, segui aquele tutorial no Ubuntu 11.04 e consegui compilar o kernel normalmente. Compilei o 3.0.5 do oneric.

Minha próxima aventura é compilar um kernel específico para essa belezinha aqui:
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg215.imageshack.us%2Fimg215%2F5353%2Fs5038724.th.jpg&hash=b942868f9ea35b685da072e17928a89fde6c2834) (http://img215.imageshack.us/i/s5038724.jpg/)

Os programas já abrem instantaneamente no kernel padrão do Ubuntu, que dirá num específico. Vou aproveitar para aumentar a compatilibidade com o HFS+


Quanto aos testes do Phoronix, já vi que nem vale a pena eu me arriscar a instalar o gcc 4.6, pois não tenho um processador Intel.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 14 de Agosto de 2011, 16:35
Mas houveram várias melhorias no campo da AMD também.

O 11.10 já vem com o GCC 4.6.1 e o último kernel do oneiric é o 3.0.0-8.10-generic

ah, e já tem BFS pro 3.0, o BFQ é que parece que vai parar no tempo.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 15 de Agosto de 2011, 06:42
Galactus, segui aquele tutorial no Ubuntu 11.04 e consegui compilar o kernel normalmente. Compilei o 3.0.5 do oneric.

Minha próxima aventura é compilar um kernel específico para essa belezinha aqui:
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg215.imageshack.us%2Fimg215%2F5353%2Fs5038724.th.jpg&hash=b942868f9ea35b685da072e17928a89fde6c2834) (http://img215.imageshack.us/i/s5038724.jpg/)

Os programas já abrem instantaneamente no kernel padrão do Ubuntu, que dirá num específico. Vou aproveitar para aumentar a compatilibidade com o HFS+


Quanto aos testes do Phoronix, já vi que nem vale a pena eu me arriscar a instalar o gcc 4.6, pois não tenho um processador Intel.


Putz vampire, não tem nada mais simples não?  :-[ :-[ :-[

Como ficou o desempenho com o kernel 3.0?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 15 de Agosto de 2011, 06:45
Mas houveram várias melhorias no campo da AMD também.

O 11.10 já vem com o GCC 4.6.1 e o último kernel do oneiric é o 3.0.0-8.10-generic

ah, e já tem BFS pro 3.0, o BFQ é que parece que vai parar no tempo.


Já tentou compilar o 3.o para o 11.04? Porque o tuto do vampire é de lascar!  :P

O desempenho do 3.0 tá bom?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 15 de Agosto de 2011, 10:33
Mas houveram várias melhorias no campo da AMD também.

O 11.10 já vem com o GCC 4.6.1 e o último kernel do oneiric é o 3.0.0-8.10-generic

ah, e já tem BFS pro 3.0, o BFQ é que parece que vai parar no tempo.


Já tentou compilar o 3.o para o 11.04? Porque o tuto do vampire é de lascar!  :P

O desempenho do 3.0 tá bom?

O tuto do vampire para compilar o kernel ubuntu?? se for esse ainda não usei, é da revista?

Olha, estou usando o alpha do 11.10. Não sei dizer se o desempenho esta HORRÍVEL por conta do sistema ser alpha e muitos programas não funcionam como deveriam, ou o kernel ta meio capenga. Mas eu arrisco que o kernel 3.0 padrão esta com um problema terrível de gerenciar o HD. Acessa o HD pra TUDO deixando a máquina ruim, principalmente pra quem tem pouca memória ram como eu. Estou pensando em usar o Deadline enquando o BFQ não sai.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 15 de Agosto de 2011, 10:38
Mas houveram várias melhorias no campo da AMD também.

O 11.10 já vem com o GCC 4.6.1 e o último kernel do oneiric é o 3.0.0-8.10-generic

ah, e já tem BFS pro 3.0, o BFQ é que parece que vai parar no tempo.


Já tentou compilar o 3.o para o 11.04? Porque o tuto do vampire é de lascar!  :P

O desempenho do 3.0 tá bom?

O tuto do vampire para compilar o kernel ubuntu?? se for esse ainda não usei, é da revista?

Olha, estou usando o alpha do 11.10. Não sei dizer se o desempenho esta HORRÍVEL por conta do sistema ser alpha e muitos programas não funcionam como deveriam, ou o kernel ta meio capenga. Mas eu arrisco que o kernel 3.0 padrão esta com um problema terrível de gerenciar o HD. Acessa o HD pra TUDO deixando a máquina ruim, principalmente pra quem tem pouca memória ram como eu. Estou pensando em usar o Deadline enquando o BFQ não sai.

É o tuto da revista sim! Aquele "miudinho"!  ;D


Hummm, ruim assim o 3.0?

Dessa maneira vou ficando com o 2.6.38 mesmo!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 15 de Agosto de 2011, 19:07
Mas houveram várias melhorias no campo da AMD também.

O 11.10 já vem com o GCC 4.6.1 e o último kernel do oneiric é o 3.0.0-8.10-generic

ah, e já tem BFS pro 3.0, o BFQ é que parece que vai parar no tempo.


Já tentou compilar o 3.o para o 11.04? Porque o tuto do vampire é de lascar!  :P

O desempenho do 3.0 tá bom?

O tuto do vampire para compilar o kernel ubuntu?? se for esse ainda não usei, é da revista?

Olha, estou usando o alpha do 11.10. Não sei dizer se o desempenho esta HORRÍVEL por conta do sistema ser alpha e muitos programas não funcionam como deveriam, ou o kernel ta meio capenga. Mas eu arrisco que o kernel 3.0 padrão esta com um problema terrível de gerenciar o HD. Acessa o HD pra TUDO deixando a máquina ruim, principalmente pra quem tem pouca memória ram como eu. Estou pensando em usar o Deadline enquando o BFQ não sai.

É o tuto da revista sim! Aquele "miudinho"!  ;D


Hummm, ruim assim o 3.0?

Dessa maneira vou ficando com o 2.6.38 mesmo!

vou testar! mas galactus grande parte da culpa, se não toda, deve ser do Ubuntu 11.04 que esta em alpha e com muuuita coisa nova que ta deixando essa versão bem mais travada de todas as outras que eu já testei.

e eu não estou conseguindo compilar o kernel do ubuntu + BFS. Vou tentar com o tutorial do vampire!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 16 de Agosto de 2011, 14:31
@Galactus kernel 3.0.1 + BFS = show de bola! Com o CFS fica uma derma.

Agora eu quero compilar o kernel do ubuntu com o BFS, fica dando erro direto na compilação e da vários hunks quando aplico no kernel do ubuntu. No vanilla vai limpinho.
Nesse kernel eu estou usando o .config do proprio ubuntu.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 18 de Agosto de 2011, 23:07
Foi lançado o kernl 3.0.2 e logo em seguida (24hrs) o 3.0.3

Ta bugado hein o bixin. E ta dificil fazer o sistema iniciar sem mensagens chatas. Tudo bem que eu não tentei quase nada =)
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 19 de Agosto de 2011, 12:57
Foi lançado o kernl 3.0.2 e logo em seguida (24hrs) o 3.0.3

Ta bugado hein o bixin. E ta dificil fazer o sistema iniciar sem mensagens chatas. Tudo bem que eu não tentei quase nada =)

Rapaz, Gunss eu peguei o caminho mais curto! :)

Eu instalei aqui um 2.6.39 e 2.6.38 do próprio Kolivas!

Muito rápido mesmo!  O meu Atomzinho está voando!!! Interessante é que o 2.6.38 do kolivas não deu boot no i7!  Só o 2.6.39!

Você usou qual versão do BFS?

Eu vou baixar e compilar a versão 3.0.1 então!  Só usou o BFS? Ou teve mais patchs?

 
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 19 de Agosto de 2011, 14:57
Foi lançado o kernl 3.0.2 e logo em seguida (24hrs) o 3.0.3

Ta bugado hein o bixin. E ta dificil fazer o sistema iniciar sem mensagens chatas. Tudo bem que eu não tentei quase nada =)

Rapaz, Gunss eu peguei o caminho mais curto! :)

Eu instalei aqui um 2.6.39 e 2.6.38 do próprio Kolivas!

Muito rápido mesmo!  O meu Atomzinho está voando!!! Interessante é que o 2.6.38 do kolivas não deu boot no i7!  Só o 2.6.39!

Você usou qual versão do BFS?

Eu vou baixar e compilar a versão 3.0.1 então!  Só usou o BFS? Ou teve mais patchs?

 

baixa a 3.0.3.

Usei só o BFS. Estou com uma preguiça de compilar o kernel do ubuntu... sacanagem só compilar se fizer aquele tudo monstruoso.
A galera do zen portou o BFQ pro 3.0. Só que eu não sei usar o git heehehe. Vou ver como baixa os patchs pelo git do ureadahead e bfq pro 3.0 no zen
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: 4d4c47 em 19 de Agosto de 2011, 18:05
também tô querendo aprender a usar o git, alguem que manja aé passa um tutorial bom aé pra noís,

valeu.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 22 de Agosto de 2011, 09:58
http://kernel.ubuntu.com/git?p=abogani/ubuntu-oneiric-lowlatency.git;a=summary

Git do kernel Ubuntu lowlatency. Vou caçar um tutorial do git pra usar.

https://launchpad.net/~abogani/+archive/ppa?field.series_filter=

tem a ppa também, mas gostaria do git com o source pra poder compilar e adicionar o march pra ver como fica =)

Alguém se habilita a ativar essa opção "CONFIG_RCU_BOOST"?

http://cateee.net/lkddb/web-lkddb/RCU_BOOST.html
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 24 de Agosto de 2011, 14:45
Aquele tutorial que está na revista usa o git.
Mas basicamente é isso aqui mesmo:
https://wiki.ubuntu.com/Kernel/SourceCode
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 26 de Agosto de 2011, 00:53
Aquele tutorial que está na revista usa o git.
Mas basicamente é isso aqui mesmo:
https://wiki.ubuntu.com/Kernel/SourceCode


Eu entendo que um desenvolvedor de kernel use o git, mas acredito que é uma perda de tempo muito grande se um simples usuário final quiser compilar seu próprio kernel e ele tiver que baixar mais de 400MB de arquivos fontes e trocentos comandos e detalhes de versões para só então poder compilar o que ele queria!!!!

O pior no meu caso foi que a parte principal do processo deu errado! Ou seja, compilar o bendito kernel!

Até encontrei uma maneira mais curta de usar o git mas nem quis testar!  Continua na obrigação de baixar mais de 400MB de arquivos fonte!

Pra mim o Git desanima!

Se for pra usar apenas o Git, prefiro pegar os binários mesmo!

Veja que na própria documentação do Ubuntu ele classifica como "Old-Fashioned Debian Way", o tipo de compilação de kernel que gosto de fazer:

https://help.ubuntu.com/community/Kernel/Compile



Achei esse Blog desse camarada que reclama exatamente disso, porque raios temos que usar um processo tão longo e complexo para compilar um kernel se antes era tudo mais simples e direto?

Ele mostra uma alternativa para compilar o kernel do Ubuntu sem usar o Git e que também não é a mesma do  "Old-Fashioned Debian Way", inclusive ele muda o linha do Make file do Kernel acrescentando o march e o mtune, vejam:

http://duopetalflower.blogspot.com/2010/10/ubuntu-maverick-64bit-kernel.html

Ainda não testei, mas até o momento foi a versão que mais me agradou, pois está num meio termo entre o Git e o "Old-Fashioned Debian Way"!   
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 29 de Agosto de 2011, 15:23
Olha, esse link que você postou aborda exatamente a segunda parte do tutorial a ser publicada. Sem o git.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 29 de Agosto de 2011, 17:57
Então vampire, esse tuto da vontade de fazer, o outro do Git desanima demais!

Você já fez esse outro tuto sem o Git?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: 4d4c47 em 29 de Agosto de 2011, 23:56
dê uma olhada nesse link do ubuntu ppa:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.3-oneiric/ (http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.3-oneiric/)

aparece os seguintes arquivos para amd64:

linux-headers-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb   
linux-headers-3.0.3-030003_3.0.3-030003.201108180913_all.deb
linux-image-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb

a pergunta é :

como criar o arquivo linux-headers-*_all.deb sem usar a compilação pelo git ?

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 30 de Agosto de 2011, 00:28
pra que server esse _all??

não sei como responder sua pergunta.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: 4d4c47 em 30 de Agosto de 2011, 00:45
pra que server esse _all??

não sei como responder sua pergunta.

Gunss,

pra que serve eu não sei, só sei que o virtualbox 4 só funciona corretamente quando instala esse pacote.


Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 30 de Agosto de 2011, 09:40
dê uma olhada nesse link do ubuntu ppa:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.3-oneiric/ (http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.3-oneiric/)

aparece os seguintes arquivos para amd64:

linux-headers-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb   
linux-headers-3.0.3-030003_3.0.3-030003.201108180913_all.deb
linux-image-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb

a pergunta é :

como criar o arquivo linux-headers-*_all.deb sem usar a compilação pelo git ?



Se você reparar o headers-generic tem kb de tamanho, enquanto esse all tem em média 10MB. Esse all serve tanto para 32 bits quanto para 64. Foi a melhor coisa que fizeram.
Para compilar sem o git, basta seguir o link que o galactus postou.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 30 de Agosto de 2011, 17:57
dê uma olhada nesse link do ubuntu ppa:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.3-oneiric/ (http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.3-oneiric/)

aparece os seguintes arquivos para amd64:

linux-headers-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb   
linux-headers-3.0.3-030003_3.0.3-030003.201108180913_all.deb
linux-image-3.0.3-030003-generic_3.0.3-030003.201108180913_amd64.deb

a pergunta é :

como criar o arquivo linux-headers-*_all.deb sem usar a compilação pelo git ?



Se você reparar o headers-generic tem kb de tamanho, enquanto esse all tem em média 10MB. Esse all serve tanto para 32 bits quanto para 64. Foi a melhor coisa que fizeram.
Para compilar sem o git, basta seguir o link que o galactus postou.

mas pra que server esse _all?? é headers tanto pra x86 quando x86_64? pq unificar? estou cheio de dúvidas...
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Stivekx em 30 de Agosto de 2011, 19:20
Tipo, quando eu rodei o comando:
Código: [Selecionar]
cc -march=native -E -v - </dev/null 2>&1 | grep cc1Ele retornou:
Código: [Selecionar]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1 -E -quiet -v - -D_FORTIFY_SOURCE=2 -march=amdfam10 -mcx16 -msahf -mpopcnt -mabm --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=amdfam10 -fstack-protector

-march=amdfam10
l1-cache-line-size=64
l2-cache-size=1024

1 - Meu processador é um Turion x2, de acordo com wiki do gentoo o -march pra ele seria k8, mas o comando me retorna amdfam10
2 - O l1 e l2 cache do meu processador apareceu 64 e 1024 respectivamente, mas quando eu rodo o comando: dmidecode --type cache, ele retorna:

Código: [Selecionar]
root@stive-laptop:/usr/src# dmidecode --type cache
# dmidecode 2.9
SMBIOS 2.6 present.

Handle 0x0005, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1 Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 256 KB
Maximum Size: 256 KB
Supported SRAM Types:
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: 1 ns
Error Correction Type: Multi-bit ECC
System Type: Unified
Associativity: 2-way Set-associative

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2 Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 2048 KB
Maximum Size: 2048 KB
Supported SRAM Types:
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: 1 ns
Error Correction Type: Multi-bit ECC
System Type: Unified
Associativity: 16-way Set-associative

Installed Size: 256 KB
Maximum Size: 256 KB
Installed Size: 2048 KB
Maximum Size: 2048 KB
Porque essa diferença nesses valores?

----
Edit:
Dando uma lida no google, entendi, vou deixar a resposta aqui pra caso mais alguém se interesse.
Meu processador é dual core, no caso ali disse quando de l2cache tem num core especifico, logo 1024*2 = 2048, o que no total meu processador tem.
No caso do l1 cache, o comando do cc deu duas memórias: l1-cache-size e l1-cache-line-size ambos de 64kb, totalizando 128, num processador dual core 128 * 2, 256, igualando ao valor que dmidecode me deu.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 30 de Agosto de 2011, 21:55
Stivekx, confie na saída dos comandos do GCC!

Tudo tem um motivo! Se você se interessar muito, só ler a farta documentação do GCC que explica cada uma das suas opções!

K8 está indicando uma família de processadores!

Nessa família estão incluídos:
- Athlon 64 X2
- Athlon 64 FX
- Athlon 64
- Sempron
- Opteron
- Turion 64

Portanto não tem haver com as otimizações do seu processador!  Resumindo, ao usar K8 você estaria fazendo uma otimização genérica para a família K8 e não para o seu processador específico. Veja que o seu turion é novo, a opção  amdfam10 aponta para o sucessor do K8, a família 10h da AMD, ela dispara as otimizações: MMX, SSE, SSE2, SSE3, SSE4a e ABM para essa família 10h da AMD!

Quer continuar com a K8 do Guia do Gentoo?

Se quiser ver para crer é só comparar as saídas das otimizações!

No terminal execute (não precisa ser root):

Citar
export TESTFLAGS="-march=native"; export OUTPUT=native; touch $OUTPUT.cc;gcc $TESTFLAGS -fverbose-asm $OUTPUT.cc -S; cat $OUTPUT.s; unset OUTPUT TESTFLAGS; rm -f $OUTPUT.cc

e

Citar
export TESTFLAGS="-march=amdfam10"; export OUTPUT=amdfam10; touch $OUTPUT.cc; gcc $TESTFLAGS -fverbose-asm $OUTPUT.cc -S; cat $OUTPUT.s; unset OUTPUT TESTFLAGS; rm -f $OUTPUT.cc


Você mesmo pode ler aí que o native ativa mais instruções que a amdfam10, por isso que indicamos o march=native!  O native é uma mão na roda, ela verifica e acha as melhores opções para o seu processador específico, pode ser que o você não consiga os melhor desempenho, isto porque os programas instalados não foram compilados com otimizações específicas para o seu processador, esse é o preço que se paga por usar uma distro binária, mas em relação ao seu processador estará tudo lá!

Passou o cartão?
 
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 30 de Agosto de 2011, 22:43
Se tiver um computador dual socket pode usar uma distro tipo arch onde você pode compilar TUDO que estiver instalado.

Eu particularmente procuro compilar apenas o kernel (e olha lá, hoje nem isso), VLC, ffmpeg e mencoder. Porém o VLC já esta de bom tamanho.

Vou ver se faço um script pra baixar o mencoder e ffmpeg do git.

E falando em kernel, já saiu o 3.0.4
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Stivekx em 31 de Agosto de 2011, 00:15
@galactus

Muito Obrigado pela explicação.
Vou tentar com o que o gcc me diz mesmo, march=native é o que eu sempre usei.

Nas outras vezes que compilei o kernel não mudei nada além do march, as outras opcoes eu deixei como estavam, vou ver como fica.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Stivekx em 03 de Setembro de 2011, 01:05
Fiz um script em bash pra automatizar todo o processo descrito neste tópico.
Tinha feito um dois messes atrás, mas tinha vários bugs, mas esse atual está bom, ele só substitui o que ele deve...

Pra quem quiser:
http://pastebin.com/Uj1FzT4T

comentei as linhas pra quem quiser entender o que ele faz...

Pra simplesmente baixar e usar o script:
Código: [Selecionar]
cd /usr/src/linux
wget -c http://pastebin.com/raw.php?i=Uj1FzT4T -O script.sh
chmod +x script.sh
./script.sh

Obs: Execute ele depois de ter aplicado todos os patchs desejados no kernel
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: web2000 em 03 de Setembro de 2011, 16:24
O VirtualBox ficou um foguete! A VM com Windows XP da boot em 25 segundos, pronto para usar (e mostra a tela "Bem-vindo" com apenas 10 segundos depois de iniciar a VM)
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 05 de Setembro de 2011, 01:03
Pessoal criei o outro tópico para criarmos um novo tuto atualizado sobre compilação do kernel: http://ubuntuforum-br.org/index.php/topic,87070.0.html
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gordin em 05 de Setembro de 2011, 12:08
dpkg-deb: erro: diretório de controle possui permissões ruins 2755 (devem ser >=0755 e <=0755)
make[2]: ** [debian/stamp/binary/linux-image-2.6.39.4-ck1] Erro 2
make[2]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make[1]: ** [debian/stamp/binary/pre-linux-image-2.6.39.4-ck1] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make: ** [kernel_image] Erro 2


Alguém o q pode ser este erro?

grato
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 05 de Setembro de 2011, 21:06
dpkg-deb: erro: diretório de controle possui permissões ruins 2755 (devem ser >=0755 e <=0755)
make[2]: ** [debian/stamp/binary/linux-image-2.6.39.4-ck1] Erro 2
make[2]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make[1]: ** [debian/stamp/binary/pre-linux-image-2.6.39.4-ck1] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-2.6.39.4'
make: ** [kernel_image] Erro 2


Alguém o q pode ser este erro?

grato

O erro é autoexplicativo e o que você tem que fazer está na primeira linha. Um chmod 755 -R no diretório resolve.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gordin em 05 de Setembro de 2011, 21:45
vampire, obrigado pela ajuda cara.
Apesar de ser auto-explicativo o erro, eu não soube interpretá-lo. Por isso vim aqui perguntar.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: magno TI em 10 de Setembro de 2011, 19:19
Ai esta tudo muito bom mais, gostaria que alguém me ajude a compilar o kernel do 10.04 server com um passo a passo pois também quero aprender?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: web2000 em 10 de Setembro de 2011, 22:12
Ai esta tudo muito bom mais, gostaria que alguém me ajude a compilar o kernel do 10.04 server com um passo a passo pois também quero aprender?

Recompilar o kernel só é demorado (dependendo do computador), mas é relativamente fácil. Procure no Google, por "recompilar kernel ubuntu" e adapte a esse dica. O resultado vale apena.

No benchmark Geekbench o desempenho do meu computador foi de 3585 para 4252, ou seja, um ganho de 18,6%

Até+
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 12 de Setembro de 2011, 11:09
http://kernel-seeds.org/settings-01.html

Ta ai um ótimo tutorial sobre o menu config. São 13 páginas.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 16 de Setembro de 2011, 22:23
Gostaria de tirar uma grande dúvida..

Estou usando..kernel generic pae..

Consigo usar o comando make oldconfig, consigo configurar o kernel masi rescente..sem dar problemas?

Por que..da ultima vez que tentie...quando inicei..deu kernel panic
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 17 de Setembro de 2011, 00:26
Tenho estudado sobre a compilação de kernel, com o objetivo de otimizar o kernel 3.0 para meu Netbook Asus Eee PC 1000HA. Li este tópico e depois li o da compilação sem o Git. Confesso que as informações são densas e tenho tido dificuldades para entender algumas coisas...

Gostaria de saber se é viável utilizar os arquivos headers e image do kernel 3.0.0.8 do linux-lts-backport-oneric (lucid 10.04), disponíveis em http://www.ubuntuupdates.org/packages/show/364792 , numa compilação.

Minha intenção, por enquanto e para aprendizado, é utilizar um kernel já preparado para o ubuntu e otimizá-lo para o hardware que tenho, seguindo a configuração do processador e retirando os módulos que não se aplicam ao netbook em questão. Mas, não entendi se preciso fazer isso usando alguma coisa do código fonte e até o momento em que escrevo, o kernel.org está indisponível (ainda reflexo do problema de segurança).
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 17 de Setembro de 2011, 11:43
Tenho estudado sobre a compilação de kernel, com o objetivo de otimizar o kernel 3.0 para meu Netbook Asus Eee PC 1000HA. Li este tópico e depois li o da compilação sem o Git. Confesso que as informações são densas e tenho tido dificuldades para entender algumas coisas...

Gostaria de saber se é viável utilizar os arquivos headers e image do kernel 3.0.0.8 do linux-lts-backport-oneric (lucid 10.04), disponíveis em http://www.ubuntuupdates.org/packages/show/364792 , numa compilação.

Minha intenção, por enquanto e para aprendizado, é utilizar um kernel já preparado para o ubuntu e otimizá-lo para o hardware que tenho, seguindo a configuração do processador e retirando os módulos que não se aplicam ao netbook em questão. Mas, não entendi se preciso fazer isso usando alguma coisa do código fonte e até o momento em que escrevo, o kernel.org está indisponível (ainda reflexo do problema de segurança).

Sim, funciona perfeitamente. Já testei no Lineduc, que segue o 10.04.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 17 de Setembro de 2011, 18:30
Se pretendo recompilar o mesmo kernel que estou usando (3.0.0-8), qual pacote tenho que baixar?

Li que para debian e derivados eu teria que usar o linux-source-x.x.xx. Como instalei esse kernel via ppa, imaginei que pudesse seguir o guia do Carlos Morimoto (http://www.hardware.com.br/dicas/recompilando-kernel-1.html), usei o comando
Citar
xluisfernando@xluisfernando-desktop:~$ sudo apt-get install linux-source-3.0.0-8[sudo] password for xluisfernando:
Lendo listas de pacotes... Pronto
Construindo árvore de dependências      
Lendo informação de estado... Pronto
E: Impossível achar pacote linux-source-3.0.0-8
xluisfernando@xluisfernando-desktop:~$

Testei também usando linux-source-3.0.0, mas a resposta foi a mesma. Imaginei que, como instalei o kernel por ppa, esse pacote estivesse no repositório e acessando o site http://www.ubuntuupdates.org/packages/show/364792 não encontro isso.

Então, se pretendo compilar o kernel que já tenho instalado, preciso baixar o pacote linux-source dele, ou tem como usar o que já está instalado no sistema?

Edit: Os tutoriais tratam da compilação do código fonte do kernel pretendido, em tar.bz2, diretamente do kernel.org. Como nesse momento o site está em manutenção, pensei em usar os pacotes disponíveis em http://kernel.ubuntu.com/~kernel-ppa/mainline/. No entanto, como eles estão em .deb, não entendi direito como proceder. Devo simplesmente os desempacotar dentro de /usr/src/linux para começar a compilação?

Agradeço a compreensão, já que para muitos essa pergunta deve ser trivial...
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 18 de Setembro de 2011, 14:33
xluisfernando, os arquivos fontes do kernel em tar.bz2 são para compilação!  A maneira difícil de ter o seu próprio kernel customizado. Você o descompacta para poder aplicar patchs, modificar o .config e compilar o mesmo ao seu gosto.

Os kerneis do repositório PPA são arquivos binários .deb, já estão compilados e prontos para instalação!  É como se fosse um .exe do Windows.

Portanto não há o que descompactar, apenas instale o mesmo.

Infelizmente o kernel.org está fora do ar por tempo inderteminado, por isso mesmo o Tio Linus migrou o kernel em desenvolvimento para o GitHub!

É exatamente por isso que estamos tentando aprender uma maneira de compilar o kernel sem o git todo! O Git ficou ótimo para quem desenvolve kernel, para manter tantas versões, mas para o usuário que só quer compilar uma versão específica do kernel é muita contra-mão!
Espero ter ajudado mais do que complicado!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 18 de Setembro de 2011, 14:51
Me auto-respondendo!!!

Realmente..compilar o kernel do linux, usando o arquivo .config do generic pae, sempre dar erro, na hora de instalar os modulos..não sei pq..não conseguir achar uma respostar viável....

Eu conseguir compilar o kernel 3.1-rc4, utilizando as .config do kernel oficial 3.1.0.301rc4

Apenas ativando o optimize for size e processador intel core 2

Aos poucos vou mexendo mais..
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 18 de Setembro de 2011, 18:30
xluisfernando, os arquivos fontes do kernel em tar.bz2 são para compilação!  A maneira difícil de ter o seu próprio kernel customizado. Você o descompacta para poder aplicar patchs, modificar o .config e compilar o mesmo ao seu gosto.

Os kerneis do repositório PPA são arquivos binários .deb, já estão compilados e prontos para instalação!  É como se fosse um .exe do Windows.

Portanto não há o que descompactar, apenas instale o mesmo.

Infelizmente o kernel.org está fora do ar por tempo inderteminado, por isso mesmo o Tio Linus migrou o kernel em desenvolvimento para o GitHub!

É exatamente por isso que estamos tentando aprender uma maneira de compilar o kernel sem o git todo! O Git ficou ótimo para quem desenvolve kernel, para manter tantas versões, mas para o usuário que só quer compilar uma versão específica do kernel é muita contra-mão!
Espero ter ajudado mais do que complicado!
Galactus

Então, quando o site kernel.org voltar a funcionar o esquema é baixar o pacote tar.bz2 do kernel pretendido, descompactá-lo na /usr/src/linux, aplicar os patches para debian para então importar as configurações do kernel instalado e por fim configurar e compilar. Certo?

Pensei em usar o trabalho já feito no kernel compilado para ubuntu para recompilar, otimizando para o meu hardware. De acordo com a referência do Carlos Morimoto http://www.hardware.com.br/dicas/recompilando-kernel-1.html eu poderia baixar o código fonte do kernel por meio do pacote linux-source, que "O pacote simplesmente copiará o arquivo linux-source-x.x.xx.tar.bz2 (com o código-fonte completo do kernel) para a pasta "/usr/src".

Mas, no caso da minha instalação 10.04LTS, a versão padrão do linux-source é a 2.6.32 e eu pretendo usar o 3.0.1 do repositório oneric (ainda não descobri como fazer com que o meu sistema tenha acesso ao repositório com esse pacote)
 
Edit: Pesquisando achei uma possibilidade: o pacote linux-source-3.0.0-9.14 do natty https://launchpad.net/~suraia/+archive/ppa/+sourcepub/1913892/+listing-archive-extra. Tentei adicionar o repositório, mas não consegui encontrar a linha apt. Então, pensei em tentar a opção de baixá-lo diretamente. O formato é .deb e pelo que entendi esse pacote copia o código fonte do kernel, já com os patches aplicados, para a pasta /usr/src. Só não sei se por ser de uma versão diferente haveria algum problema.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 19 de Setembro de 2011, 00:43
Me auto-respondendo!!!

Realmente..compilar o kernel do linux, usando o arquivo .config do generic pae, sempre dar erro, na hora de instalar os modulos..não sei pq..não conseguir achar uma respostar viável....

Eu conseguir compilar o kernel 3.1-rc4, utilizando as .config do kernel oficial 3.1.0.301rc4

Apenas ativando o optimize for size e processador intel core 2

Aos poucos vou mexendo mais..

O optimize for size não é a melhor saida. Deixar no -O2 é ideal.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 19 de Setembro de 2011, 21:14
Sou leigo.. onde ativo essa opção -02?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Gunss em 19 de Setembro de 2011, 23:12
Sou leigo.. onde ativo essa opção -02?


Já vem por padrão
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: nomade em 20 de Setembro de 2011, 00:33
nomade@nomade-PC:~$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 15
model      : 4
model name   : Intel(R) Pentium(R) 4 CPU 3.06GHz
stepping   : 9
cpu MHz      : 3066.578
cache size   : 1024 KB
physical id   : 0
siblings   : 2
core id      : 0
cpu cores   : 1
apicid      : 0
initial apicid   : 0
fpu      : yes
fpu_exception   : yes
cpuid level   : 5
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr lahf_lm
bogomips   : 6133.15
clflush size   : 64
cache_alignment   : 128
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family   : 15
model      : 4
model name   : Intel(R) Pentium(R) 4 CPU 3.06GHz
stepping   : 9
cpu MHz      : 3066.578
cache size   : 1024 KB
physical id   : 0
siblings   : 2
core id      : 0
cpu cores   : 1
apicid      : 1
initial apicid   : 1
fpu      : yes
fpu_exception   : yes
cpuid level   : 5
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr lahf_lm
bogomips   : 6133.27
clflush size   : 64
cache_alignment   : 128
address sizes   : 36 bits physical, 48 bits virtual
power management:

Olá! Queria só uma opinião...
vale apena fazer no meu pc, tendo em vista as informações sobre meu processador?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 22 de Setembro de 2011, 18:13
Pessoal

Comecei a configuração para compilação do kernel 3.0 para meu netbook Eee PC 1000HA. Estou fazendo por meio do pacote linux-source-3.0.0 e aplicando as modificações sugeridas por esse tópico.

No entanto, não entendi uma parte da dica do 4d4c47: /usr/src/linux-2.6.xx/arch/x86/Kconfig.cpu        - linha 300
Citar
#
# Define implied options from the CPU selection here
config X86_INTERNODE_CACHE_SHIFT
   int
   default "12" if X86_VSMP
   default "7" if NUMA
   default X86_L1_CACHE_SHIFT

config X86_CMPXCHG
   def_bool X86_64 || (X86_32 && !M386)

config CMPXCHG_LOCAL
   def_bool X86_64 || (X86_32 && !M386)

config X86_L1_CACHE_SHIFT
   int
   default "7" if MPENTIUM4 || MPSC
   default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU
   default "4" if MELAN || M486 || M386 || MGEODEGX1
   default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX

config X86_XADD
   def_bool y
   depends on X86_64 || !M386

config X86_PPRO_FENCE
   bool "PentiumPro memory ordering errata workaround"
   depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1
   ---help---
     Old PentiumPro multiprocessor systems had errata that could cause
     memory operations to violate the x86 ordering standard in rare cases.
     Enabling this option will attempt to work around some (but not all)
     occurrences of this problem, at the cost of much heavier spinlock and
     memory barrier operations.

     If unsure, say n here. Even distro kernels should think twice before
     enabling this: there are few systems, and an unlikely bug.

Sei que o meu processador se enquadraria na família MATOM mas não entendi o que eu deveria alterar para que ele fosse definido.

Depois de realizar o processo, mesclando informações de tutoriais e tópicos de diferentes autorias, pretendo escrever um tópico detalhando o processo, com a escolhas que fiz para a configuração.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 23 de Setembro de 2011, 06:52
xluisfernando meu caro, que bom que você está botando mola aí! :)

Olha só, atente para o fato da dica apontar para modificar os march, mtune e mcpu para native ou generic conforme o caso!

Como você está tentando modificar um Kernel bem mais recente de quando a dica foi colocada, é normal as linhas não baterem. Então procure pelos march, mtune e mcpu, pode usar o localizar do gedit por exemplo!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 23 de Setembro de 2011, 18:17
Galactus

Sim. Inclusive eu só entendi isso depois que li uma discussão sua no tópico do kernel Omnislash. No Makefile_32.cpu eu fiz isso em todas as opções e prestei bastante atenção na opção que seria relativa ao meu processador. Mas, Kconfig.cpu eu não encontrei nada parecido. A linha 300 citada pelo 4d4c47 está em branco e logo abaixo dela começa o trecho que postei, que entendi como sendo a configuração para o tipo de processador. O que não entendi foi o que alterar, pois a estrutura desse texto (como não tenho formação em computação e não compreendo linguagem de programação, estou interpretando a linguagem desse texto de configuração por lógica e pelas instruções nele contido...)

A única referência march= que encontrei nesse arquivo está numa linha comentada (407)
Citar
# this should be set for all -march=.. options where the compiler
# generates cmov.

No geral, fiz todas as alterações sugeridas sem grande dificuldade e já estou estudando quais as configurações embutidas e de módulo se aplicam ao hardware desse netbook.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: edusachs em 23 de Setembro de 2011, 23:06
Esse mesmo artigo serve para Core i5? Pois você comentou que fez isso num Core i7. Tem alguma virgula diferente para Core i5?

Valeu!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 23 de Setembro de 2011, 23:41
Esse mesmo artigo serve para Core i5? Pois você comentou que fez isso num Core i7. Tem alguma virgula diferente para Core i5?

Valeu!
edusachs

O GCC 4.5 de que trata o tópico é um compilador, que no fim das contas transforma o código fonte do kernel na imagem a ser carregada pelo sistema durante o boot. O que foi destacado no tópico sobre o Core i7 e serve para qualquer processador é a edição de alguns arquivos do kernel a ser compilado, considerando uma vantagem que a versão 4.5 do GCC possui. Ao indicar march=native o compilador configura automaticamente a otimização para o processador reconhecido pelo sistema.

Então, você abre o terminal no computador em que pretende instalar o kernel otimizado e usa o comando:
Citar
cc -march=native -E -v - </dev/null 2>&1 | grep cc1

A resposta que sair desse comando você usará na edição dos arquivos, seguindo o tópico e tendo como demonstração e exemplo o que foi feito com a saída do comando numa máquina Core i7.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 24 de Setembro de 2011, 00:57
Galactus

Depois que copiei a configuração do kernel em uso para o arquivo de configuração da compilação, resolvi testar o menuconfig. Então, percebi que na opção de ?, que disponibiliza informações mais detalhadas sobre a opção selecionada, no canto inferior da tela aparece uma porcentagem.

Percebi isso quando estava na opção da família do processador.

Antes de chamar o menuconfig eu já havia feito as modificações dos arquivos Makefile e o que me chamou a atenção foi o fato de que o processador que estava previamente selecionado pelo menuconfig era o pentium-pro, com 100% na descrição detalhada. Então, desci para a últimas linhas e vi que existe a opção intel atom, que seria o meu caso, mas na sua descrição detalhada aparece com 99%.

Então, fiquei curioso. Como importei as configurações de um kernel genérico, imaginei que a opção selecionada previamente seria i386.

Será que nos arquivos makefile eu acabei editando algo que não devia, ou os kerneis genéricos mais recentes são padronizados com a instrução para pentium-pro? Pergunto isso porque na primeira vez que chamei o menuconfig eu vi que o terminal mostrou que estva lendo os arquivos makefile...

Essa porcentagem que aparece é a compatibilidade genérica com qualquer tipo de hardware?

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: advogama em 24 de Setembro de 2011, 11:54
Bom dia amigos eu uso o Ubuntu há 05 anos e até o momento nunca havia
tido a vontade de recompilar o kernel, mas eu venho notando que nos
últimos tempos o ubuntu tem ficado mais lento, e guardadas as devidas proporções
em termos de hardware, parece que o sistema hoje é mais lento que há alguns
anos atrás.

Eu gostaria de aprender a compilar e não sinto necessidade de um kernel
que fosse a última versão. Usaria o próprio kernel atual do Ubuntu, mas
otimizado para minha máquina. Claro que já estou usando o google e as dicas
do forum, mas me sentiria mais seguro se vcs, mais experientes no assunto
me fornecessem ou indicassem os passos básicos. Meu pc é um Intel core 2 duo
E8400, 4gb de ram (ddr3) video onboard da intel (4500) e um hd de 500.

Mais, o que vcs acham deste tuto: http://linuxtweaking.blogspot.com/2011/04/how-to-recompile-your-ubuntu-1104.html

Abraço a todos e obrigado.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 24 de Setembro de 2011, 12:47
/usr/src/linux-2.6.xx/arch/x86/boot/Makefile       - linha 63

/usr/src/linux-2.6.xx/arch/x86/Kconfig.cpu        - linha 300

Esses dois arquivos não tem nem march, mtune, nem mcpu..

ou estou enganado...?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Mandrak73 em 24 de Setembro de 2011, 19:33
Metalbobolic

O /usr/src/linux-2.6.xx/arch/x86/boot/Makefile   tem só um march la pra linha 63.
Já o /usr/src/linux-2.6.xx/arch/x86/Kconfig.cpu não tem nada..
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 25 de Setembro de 2011, 17:17
Metalbobolic

O /usr/src/linux-2.6.xx/arch/x86/boot/Makefile   tem só um march la pra linha 63.
Já o /usr/src/linux-2.6.xx/arch/x86/Kconfig.cpu não tem nada..


obrigado pela resposta..

Agora..como altero as links 7 e 9 do makefile_32.cpu!!?

grato..
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 26 de Setembro de 2011, 22:01
Galactus

No momento de compilar apareceu um erro:
Citar
root@xluisfernando-laptop:~# cd /usr/src/linux
root@xluisfernando-laptop:/usr/src/linux# make-kpkg clean
unlink debian/control
unlink debian/commit-templates/sauce-patch
unlink debian/commit-templates/missing-modules
unlink debian/commit-templates/upstream-patch
unlink debian/commit-templates/bumpabi
unlink debian/commit-templates/external-driver
unlink debian/commit-templates/newrelease
unlink debian/commit-templates/config-updates
rmdir commit-templates
unlink debian/changelog
unlink debian/docs/README.inclusion-list
rmdir docs
unlink debian/rules.d/2-binary-arch.mk
unlink debian/rules.d/1-maintainer.mk
unlink debian/rules.d/4-checks.mk
unlink debian/rules.d/0-common-vars.mk
unlink debian/rules.d/3-binary-indep.mk
unlink debian/rules.d/5-udebs.mk
rmdir rules.d
unlink debian/tests/check-aliases
unlink debian/tests/README
rmdir tests
unlink debian/source/format
rmdir source
unlink debian/control-scripts/postinst
unlink debian/control-scripts/headers-postinst
unlink debian/control-scripts/postrm
unlink debian/control-scripts/prerm
unlink debian/control-scripts/preinst
rmdir control-scripts
unlink debian/rules
unlink debian/tools/turbostat
unlink debian/tools/x86_energy_perf_policy
unlink debian/tools/perf
rmdir tools
unlink debian/scripts/module-check
unlink debian/scripts/abi-check
unlink debian/scripts/module-inclusion
unlink debian/scripts/sub-flavour
unlink debian/scripts/control-create
unlink debian/scripts/link-headers
unlink debian/scripts/config-check
unlink debian/scripts/misc/git-ubuntu-log
unlink debian/scripts/misc/splitconfig.pl
unlink debian/scripts/misc/retag
unlink debian/scripts/misc/getabis
unlink debian/scripts/misc/insert-changes.pl
unlink debian/scripts/misc/insert-ubuntu-changes
unlink debian/scripts/misc/kernelconfig
rmdir misc
rmdir scripts
unlink debian/debian.env
unlink debian/control.stub
unlink debian/compat
unlink debian/copyright
rmdir debian
exec make kpkg_version=12.032 -f /usr/share/kernel-package/ruleset/minimal.mk clean
====== making target minimal_clean [new prereqs: ]======
This is kernel package version 12.032.
test ! -f .config || cp -pf .config config.precious
test ! -e stamp-building || rm -f stamp-building
test ! -f Makefile || \
            make    ARCH=i386 distclean
make[1]: Entrando no diretório `/usr/src/linux-source-3.0.0'
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   include/config include/generated
  CLEAN   .config .config.old
make[1]: Saindo do diretório `/usr/src/linux-source-3.0.0'
test ! -f config.precious || mv -f config.precious .config
rm -f modules/modversions.h modules/ksyms.ver scripts/cramfs/cramfsck scripts/cramfs/mkcramfs  
root@xluisfernando-laptop:/usr/src/linux# CONCURRENCY_LEVEL=2 make-kpkg --initrd --revision=x86 kernel_image kernel_source kernel_headers modules_image
exec make kpkg_version=12.032 -f /usr/share/kernel-package/ruleset/minimal.mk debian DEBIAN_REVISION=x86  INITRD=YES
====== making target debian/stamp/conf/minimal_debian [new prereqs: ]======
This is kernel package version 12.032.
test -d debian             || mkdir debian
test ! -e stamp-building || rm -f stamp-building
install -p -m 755 /usr/share/kernel-package/rules debian/rules
for file in ChangeLog  Control  Control.bin86 config templates.in rules; do                                      \
            cp -f  /usr/share/kernel-package/$file ./debian/;                               \
        done
for dir  in Config docs examples ruleset scripts pkg po;  do                                      \
          cp -af /usr/share/kernel-package/$dir  ./debian/;                                 \
        done
test -f debian/control || sed         -e 's/=V/3.0.3/g'  \
                -e 's/=D/x86/g'         -e 's/=A/i386/g'  \
      -e 's/=SA//g'  \
      -e 's/=I//g'                \
      -e 's/=CV/3.0/g'             \
      -e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g'             \
      -e 's/=ST/linux/g'      -e 's/=B/i386/g'    \
                  /usr/share/kernel-package/Control > debian/control
test -f debian/changelog ||  sed -e 's/=V/3.0.3/g'       \
            -e 's/=D/x86/g'        -e 's/=A/i386/g'       \
            -e 's/=ST/linux/g'     -e 's/=B/i386/g'         \
            -e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g'                            \
             /usr/share/kernel-package/changelog > debian/changelog
chmod 0644 debian/control debian/changelog
test -d ./debian/stamp || mkdir debian/stamp
make -f debian/rules debian/stamp/conf/kernel-conf
make[1]: Entrando no diretório `/usr/src/linux-source-3.0.0'
====== making target debian/stamp/conf/kernel-conf [new prereqs: ]======
make    ARCH=i386 \
                    oldconfig;                                      
make[2]: Entrando no diretório `/usr/src/linux-source-3.0.0'
scripts/kconfig/conf --oldconfig Kconfig
warning: (GFS2_FS) selects DLM which has unmet direct dependencies (EXPERIMENTAL && INET && SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n))
warning: (SCHED_AUTOGROUP) selects CGROUP_SCHED which has unmet direct dependencies (CGROUPS && EXPERIMENTAL)
warning: (IWM && WIMAX_IWMC3200_SDIO) selects IWMC3200TOP which has unmet direct dependencies (MISC_DEVICES && MMC && EXPERIMENTAL)
warning: (SCSI_SRP) selects SCSI_TGT which has unmet direct dependencies (SCSI && EXPERIMENTAL)
warning: (ACPI_HOTPLUG_CPU) selects ACPI_CONTAINER which has unmet direct dependencies (ACPI && EXPERIMENTAL)
warning: (SCHED_AUTOGROUP) selects CGROUP_SCHED which has unmet direct dependencies (CGROUPS && EXPERIMENTAL)
warning: (GFS2_FS) selects DLM which has unmet direct dependencies (EXPERIMENTAL && INET && SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n))
warning: (ACPI_HOTPLUG_CPU) selects ACPI_CONTAINER which has unmet direct dependencies (ACPI && EXPERIMENTAL)
warning: (IWM && WIMAX_IWMC3200_SDIO) selects IWMC3200TOP which has unmet direct dependencies (MISC_DEVICES && MMC && EXPERIMENTAL)
warning: (SCSI_SRP) selects SCSI_TGT which has unmet direct dependencies (SCSI && EXPERIMENTAL)
#
# configuration written to .config
#
make[2]: Saindo do diretório `/usr/src/linux-source-3.0.0'
make    ARCH=i386 prepare
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
make[2]: Entrando no diretório `/usr/src/linux-source-3.0.0'
scripts/kconfig/conf --silentoldconfig Kconfig
warning: (GFS2_FS) selects DLM which has unmet direct dependencies (EXPERIMENTAL && INET && SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n))
warning: (SCHED_AUTOGROUP) selects CGROUP_SCHED which has unmet direct dependencies (CGROUPS && EXPERIMENTAL)
warning: (IWM && WIMAX_IWMC3200_SDIO) selects IWMC3200TOP which has unmet direct dependencies (MISC_DEVICES && MMC && EXPERIMENTAL)
warning: (SCSI_SRP) selects SCSI_TGT which has unmet direct dependencies (SCSI && EXPERIMENTAL)
warning: (ACPI_HOTPLUG_CPU) selects ACPI_CONTAINER which has unmet direct dependencies (ACPI && EXPERIMENTAL)
warning: (GFS2_FS) selects DLM which has unmet direct dependencies (EXPERIMENTAL && INET && SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n))
warning: (SCHED_AUTOGROUP) selects CGROUP_SCHED which has unmet direct dependencies (CGROUPS && EXPERIMENTAL)
warning: (IWM && WIMAX_IWMC3200_SDIO) selects IWMC3200TOP which has unmet direct dependencies (MISC_DEVICES && MMC && EXPERIMENTAL)
warning: (SCSI_SRP) selects SCSI_TGT which has unmet direct dependencies (SCSI && EXPERIMENTAL)
warning: (ACPI_HOTPLUG_CPU) selects ACPI_CONTAINER which has unmet direct dependencies (ACPI && EXPERIMENTAL)
make[2]: Saindo do diretório `/usr/src/linux-source-3.0.0'
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
/bin/sh: Syntax error: word unexpected (expecting "then")
make[2]: Entrando no diretório `/usr/src/linux-source-3.0.0'
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
/bin/sh: Syntax error: ")" unexpected
make[3]: ** [kernel/bounds.s] Erro 2
make[2]: ** [prepare0] Erro 2
make[2]: Saindo do diretório `/usr/src/linux-source-3.0.0'
make[1]: ** [debian/stamp/conf/kernel-conf] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-source-3.0.0'
make: ** [debian/stamp/conf/minimal_debian] Erro 2
Failed to create a ./debian directory: Arquivo ou diretório não encontrado at /usr/bin/make-kpkg line 971.
root@xluisfernando-laptop:/usr/src/linux#

O que pode ser?

Edit: Acho que isso se deve a um conflito pela versão. Comecei a mexer no synaptic e reparei que a versão de vários pacotes de desenvolvimento da minha instalação eram do 2.6.32. Então, tentei atualizar manualmente, instalando por dpkg o headers, image, linux-libc-dev, linux-toos e linux-toos-common, da mesma versão e do mesmo repositório que baixei o linux-source.

Depois de reiniciar, com o kernel 3.0.0-9-14 do natty, o sistema pediu para atualizar a versão. Ignorei e tentei executar o make xconfig, depois de ter copiado a configuração do kernel em uso. Mas, apresentou erro e não funcionou.

Então, resolvi recomeçar do zero. Removi tudo o que tinha haver com a versão 3.0.0-9-14, inclusive o kernel-source, removi o link simbólico e a pasta do kernel-source.

Não deve ser por acaso que o linux-source-3.0 disponível para ppa do 10.04 foi removido do repositório... Talvez o conjunto da versão não suporte source, toos e toos-common mais atuais.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Metalbobolic em 26 de Setembro de 2011, 22:07
Aqui ta dando erro na hora de compilar!!

Instalei o gcc-4.6.1 ..e estou compilando nesse momento..vamos ver no que dar!!

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 27 de Setembro de 2011, 19:02
Pesquisando encontrei um aplicativo .deb que sistematiza o processo de escolha, aplicação de patch e compilação de kernel para o Ubuntu.

KernelCheck Lumen
http://www.youtube.com/watch?v=QE-t5GWadds

Pelo que entendi esse aplicativo é limitado à versão 2.6.xx
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: RonaldoRG em 27 de Setembro de 2011, 22:25
Eu acabo de compilar um kernel com ajuda desse site http://www.hardware.com.br/dicas/recompilando-kernel-1.html

E deu tudo certo, estou usando ele neste momento, e fiquei muito contente, porque foi mais um passo na minha aprendizagem sobre o mundo linux. Eu achava que era mais complicado mas foi muito tranquilo, até porque não fiz modificação nenhuma.

Agora o próximo passo vai ser experimentar algumas modificações propostas neste tópico.

Desejo boa sorte a todos.

T+.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 27 de Setembro de 2011, 22:45
Eu acabo de compilar um kernel com ajuda desse site http://www.hardware.com.br/dicas/recompilando-kernel-1.html

E deu tudo certo, estou usando ele neste momento, e fiquei muito contente, porque foi mais um passo na minha aprendizagem sobre o mundo linux. Eu achava que era mais complicado mas foi muito tranquilo, até porque não fiz modificação nenhuma.

Agora o próximo passo vai ser experimentar algumas modificações propostas neste tópico.

Desejo boa sorte a todos.

T+.

Ronaldo

Qual versão do kernel você compilou? Fez isso no Debian ou no Ubuntu?

Aqui, estou tendo problemas na compilação do kernel 3.0, pelo linux-source-3.0.0-9-14~natty... Pelo que entendi, as ferramentas de compilação e provavelmente o headers que tenho instalado não suportam o 3.0 e quando instalo esses pacotes manualmente, não consigo nem passa do make xconfig
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: RonaldoRG em 28 de Setembro de 2011, 00:23
Olá xluisfernando.

Eu compilei a versão do kernel 2.6.32. To usando o Ubuntu 10.04 pra compilar.

Eu segui o passo a passo daquele link do meu post anterior.

T+.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 28 de Setembro de 2011, 09:23
Aparentemente, com o Ubuntu 10.04, é complicado compilar a versão 3.0 do kernel
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 28 de Setembro de 2011, 12:09
xluisfernando, o erro que aparece na sua compilação geralmente é causado por você estar compilando na pasta errada ou não colocou os links simbólicos para a pasta /usr/src/linux corretamente. 

Você está usando a maneira antiga de compilar o kernel para compilar o kernel 3.0, certo?

Já tentou usar o tuto do HQxRiven?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 28 de Setembro de 2011, 14:06
Galactus

Eu estava seguindo o tutorial do Hqxriven (http://ubuntuforum-br.org/index.php/topic,29799.msg375471.html#msg375471) adaptando orientações para utilização do pacote linux-source, em vez do kernel baixado diretamente do kernel.org. Essas adaptações eu fiz seguindo algumas orientações dos tutoriais do guiadohardware.net (http://www.hardware.com.br/dicas/recompilando-kernel-1.html e http://www.hardware.com.br/dicas/recompilando-kernel-debian.html)

Da vez que tentei e apareceu o erro que publiquei, seguindo a risca, eu não tinha feito atentado para o chmod -R a-s /usr/src/linux-2.6.34 (criei o link simbólico diretamente) e não tinha instalado os pacotes linux-headers-2.6.xx e linux-kbuild-2.6.xx, porque eu estava usando o linux-source-3.0.0 da versão 11.04 e baixei ele diretamente, sem ser por apt (não consegui adicioná-lo ao repositório). Depois segui a sua dica de alterar os arquivos do kernel (march=native).

Na segunda vez que tentei, resolvi baixar e instalar, por dpkg a imagem, headers, tools, tools-common da mesma versão linux-source (natty), mas nessa situação, depois de reiniciar apareceu a mensagem de erro no repositório e o sistema pediu para atualizar parcialmente a versão. Não atualizei e quando tentei o make xconfig já apareceu uma mensagem de erro.

Então, removi tudo o que tinha referente à versão 3.0.0-9-14 do natty e passei a estudar o problema. Achava que na primeira tentativa o problema tinha sido a falta do cabeçalho correto para a versão (o padrão do meu 10.04 é 2.6.32-37). Mas, ao colocar os pacotes do 3.0.0-9-14 e instalar o kernel genérico do natty na mesma versão, não funcionou.

Pesquisando, encontrei um tutorial para compilar kernel 3.0 no debian 6.0 http://yuribraz.com.br/2011/08/25/kernel-3-0-no-debian-squeeze/ , mas esse também depende do kernel.org, que está em manutenção. O interessante desse é que os comandos usados são diferentes.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Wagnesio em 28 de Setembro de 2011, 14:21
É porque esse último, ao contrário do tuto do HQx, não gera um pacote .deb
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 28 de Setembro de 2011, 22:02
Aparentemente, com o Ubuntu 10.04, é complicado compilar a versão 3.0 do kernel
Atualiza o gcc que dá.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 28 de Setembro de 2011, 23:22
Aparentemente, com o Ubuntu 10.04, é complicado compilar a versão 3.0 do kernel
Atualiza o gcc que dá.
Estou usando o GCC 4.5. Revisei tudo o que fiz e vou tentar de novo. Acho que no momento em que instalei o kernel 3.0.0-8 via ppa eu acabei esquecendo de instalar o pacote headers. Instalei o image e o headers-generic.

Então, acredito que o problema aconteceu no momento em que o GCC consulta o headers para o kernel 3.0.0-9-14 do natty e encontra a referência do 2.6.32-37.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: RonaldoRG em 29 de Setembro de 2011, 22:00
Fiz uma nova compilação, agora seguindo as dicas do galactus e tá aqui funcionando normal. Retirei também algumas coisas que não utilizo aqui.

Aparentemente não notei nenhuma melhora, mas vou continuar testando pra ver o que acontece.

T+.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 29 de Setembro de 2011, 22:11
No repositório de onde baixei o pacote linux-source-3.0 existe a versão original do kernel e os patches. Pensei em tentar por esse pacote, mas nesse caso, considerando que vou compilar no ubuntu 10.04, devo simplesmente aplicar os patches disponibilizados no repositório ou existe algum outro patch a ser considerado?

Edit: Depois de um tempo refletindo, pensei numa solução mais óbvia. Se pretendo compilar a partir do linux-source e tenho instalado o kernel 3.0.0-8.11, por que não baixar e instalar manualmente o linux-source da mesma versão?

Além do mais tenho instalados o linux-headers, linux-headers-generic e linux-image-generic dessa versão, já com o GCC atualizado para 4.5 e build-essential

O tutorial do Hqxriven trata da compilação do kernel pelo código fonte e nos tutoriais sobre compilação pelo linux-source existe a referência de necessidade do pacote linux-kbuild, da mesma versão do kernel a ser compilado. Pesquisei sobre esse pacote e pelo que entendi ainda não existe versão dele para o kernel 3.0.

Então, posso seguir tranquilamente o tutorial do Hqxriven com o linux-source e ignorar esse linux-kbuild?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: xluisfernando em 23 de Outubro de 2011, 11:30
Esse pacote linux-kbuild parece ser específico do debian. Mas, no ubuntu existe um pacote kbuild.
Numa nova instalação, com o sistema limpo de experiências anteriores e sem os pacotes gcc instalados, ao marcar para a instalação desse kbuild no synaptic, nenhuma dependência extra foi relacionada.
No debian, o pacote linux-kbuild segue a numeração do kernel, assim como o linux-source.

Afinal, qual seria a finalidade desse pacote kbuild?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: mariojuniorjp em 30 de MAR?O de 2012, 19:36
No meu i7 920, ele retornou a linha --param l2-cache-size=8192, só que 8192 é o cache L3, e não o L2, que é 256. Devo colocar os 256 ou os 8192?

E no arquivo "/usr/src/linux-2.6.xx/arch/x86/Kconfig.cpu        - linha 300", não tem nenhuma opção citando march, mcpu ou mtune não "isso no kernel 3.2.0". Nesse kernel não seria em makefile_32.cpu não? Por que nesse arquivo cita um desses argumentos.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 31 de MAR?O de 2012, 04:47
No meu i7 920, ele retornou a linha --param l2-cache-size=8192, só que 8192 é o cache L3, e não o L2, que é 256. Devo colocar os 256 ou os 8192?

E no arquivo "/usr/src/linux-2.6.xx/arch/x86/Kconfig.cpu        - linha 300", não tem nenhuma opção citando march, mcpu ou mtune não "isso no kernel 3.2.0". Nesse kernel não seria em makefile_32.cpu não? Por que nesse arquivo cita um desses argumentos.

Você deve usar a saída do comando do gcc, os arquivos a serem modificados para o kernel 3.2 são:
 Makefile, arch/x86/Makefile e arch/x86/Makefile_32.cpu.

Eu preciso atualizar esse tópico, mudou muita coisa para esses kerneis da série 3.0 em diante. Vou testar uma nova compilação hoje para ver se tudo dá certo e farei as alterações no tópico.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: py8elo em 27 de Abril de 2012, 12:18
Senhores,
após inúmeras tentativas sem sucesso, finalmente acabo de compilar um kernel 3.xx no meu Ubuntu 10.10 LTS e ficou muito bom o desempenho...
Eu usei os fontes do kernel do BackTrack 5R2 (3.2.6-bt5r2 #1 SMP Fri Apr 27 08:32:06 BRT 2012 i686 GNU/Linux) e compilei de forma convencional(make localmodconfig, make -j4 all, make-kpkg clean, fakeroot make-kpkg --initrd --append-to-version=-bt5r2 kernel-image kernel-headers)
 gerando os debs e depois os instalei (dpkg -i linux-*.deb)sem qualquer problema.
Se alguem estiver interessado, posso postar em algum repositório os fontes e ou o kernel já compilado...
O consumo de processamento com o Firefox aberto com inúmeras abas, o Adobe Acrobat Reader, o Eudora e mais um programa de comunicação (JT65-HF) é de apenas 6 ~ 9% de cada processador do meu E7500 rodando em over a 3.2GHz e o consumo de memória é de apenas 466 ~ 500Mb... Nesse momento enquanto digito esta msg, o consumo é de:27% de processadores e 786Mb de ram...
Este é o primeiro kernel 3.xx que eu consigo compilar e rodar no meu Super Ubuntu 10.10 LTS... Ainda está em testes mas, acredito que eu não terei problemas com ele...
A minha Nvidia GeForce 9500 GS teve seu driver instalado automaticamente pelo script daquela minha antiga dica, durande a instalação do novo kernel e funcionou perfeitamente....

[]'s,

Silva.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: mariojuniorjp em 26 de Novembro de 2012, 18:06
Outra dica importante do vampire_thunder é que você pode compilar o kernel otimizado para um processador, mesmo não estando na máquina em que você vai usar o kernel!  Mas para isso é preciso executar o comando
Código: [Selecionar]
$cc -march=native -E -v - </dev/null 2>&1 | grep cc1
Na máquina em que o kernel vai ser utilizado, copiar a saída do comando do que interessa e alterar tudo na outra máquina, assim você vai compilar tudo como se estivesse na maquina em que o kernel vai ser utilizado!
É uma mão na roda se você tem uma máquina poderosa para compilar o kernel e a outra máquina em que o kernel otimizado vai ser usado é muito ruim!  Então você pode usar um Core i7 ou um Phenon X4 para compilar kernel para um Atom 330 ou um K6-II da vida!!!!  É possível inclusive compilar um kernel 32bits em uma máquina 64bits, mas não o contrário, se não me engano!  Mas isso é outro tutorial que o tio vampire vai fazer!!!  :P


Nas páginas abaixo você vai encontrar muito mais informações do que coloquei aqui!  Muita coisa foi testada e agora sabemos que não funciona direito ou não vale a pena usar! Esteja a vontade para fazer os seus testes!
Qualquer erro é só avisar!  Se tiver novidades também serão bem vindas!
 
Este tutorial é fruto das seguintes páginas:

http://en.gentoo-wiki.com/wiki/Safe_Cflags
http://en.gentoo-wiki.com/wiki/Hardware_CFLAGS
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Core_i7_and_Core_i5.2C_Xeon_55xx
http://ubuntuforum-br.org/index.php/topic,29799.3300.html
http://ubuntuforum-br.org/index.php/topic,29799.3210.html
http://ubuntuforum-br.org/index.php/topic,29799.3180.html
http://ubuntuforum-br.org/index.php/topic,29799.3120.html
http://ubuntuforum-br.org/index.php/topic,29799.3060.html
http://ubuntuforum-br.org/index.php/topic,29799.3480.html
http://ubuntuforum-br.org/index.php/topic,29799.3510.html

Obrigado a todos!

Atendendo ao pedido do Vampire, aqui vai um exemplo do que otimizações do sistema podem fazer por um PC antigo:
Pentium 4 1.5Ghz com 384MB de RAM, sendo 64MB para o Vídeo Onboard Matrox! É isso mesmo, Matrox!
HD de 20GB!  Placa mãe Fujitsu com Chipset Intel 845, e todo o restante do hardware, com exceção da "potente" placa de vídeo Matrox, eram Intel!
Portanto uma máquina com 10 anos de idade! Sua Bios é de 2001! Com isso ele consegue ter um poder de processamento ainda pior que um Atom moderno!

http://www.youtube.com/watch?v=OCevVWiZCks

Atendendo a mais uma pedido, aqui vai a versão deste tutorial em PDF: http://www.megaupload.com/?d=7KXGNLEK

Amigo, uma dúvida. Estou compilando o kernel para o meu Atom, no meu outro computador, rodando o Ubuntu dentro do virtualbox, com um core i7.

De acordo com suas informações, devemos substituir a parte "march=familia do processador" para "march=native", só que tem um porém:

Na minha máquina com o Atom, no mach saiu o nome da familia do processador "Atom". Mas como eu vou realizar a compilação em outro computador, o correto não seria eu deixar o nome da familia em vez de colocar o "native" não? Pois eu creio que, se eu colocar o "native", o compilador irá compilar para o processador da maquina que está realizando a compilação "no caso um core i7".

Ou estou enganado? Aguardo sua resposta!  :D
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: nomade em 27 de Novembro de 2012, 07:43
Voto por fixarem o tópico... genial, véio!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: mariojuniorjp em 27 de Novembro de 2012, 17:09
Voto por fixarem o tópico... genial, véio!

Digo o mesmo! FIXO JÁ!  ;D
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 28 de Novembro de 2012, 02:21

Amigo, uma dúvida. Estou compilando o kernel para o meu Atom, no meu outro computador, rodando o Ubuntu dentro do virtualbox, com um core i7.

De acordo com suas informações, devemos substituir a parte "march=familia do processador" para "march=native", só que tem um porém:

Na minha máquina com o Atom, no mach saiu o nome da familia do processador "Atom". Mas como eu vou realizar a compilação em outro computador, o correto não seria eu deixar o nome da familia em vez de colocar o "native" não? Pois eu creio que, se eu colocar o "native", o compilador irá compilar para o processador da maquina que está realizando a compilação "no caso um core i7".

Ou estou enganado? Aguardo sua resposta!  :D

Mário. O trecho que você destacou já responde a sua pergunta.


Como o vampire_thunder disse, se você quiser compilar o kernel otimizado para um processador, mesmo não estando na máquina em que você vai usar o kernel, basta executar o comando a seguir no seu Atom

Código: [Selecionar]
$cc -march=native -E -v - </dev/null 2>&1 | grep cc1

e depois usar a saída deste comando para ser colada no make file da máquina com Core i7 que vai compilar o kernel para o Atom! Passou o cartão agora?

Se você utilizar o march=native no core i7, esse kernel será otimizado para o seu Core i7 e não para o Atom.

Eu só compilava o kernel do Atom no Atom mesmo.

Quanto a fixar o tópico, acho que não precisa mais. O interesse neste assunto caiu muito. O pessoal quer praticidade. Os kerneis genéricos também melhoraram o desempenho em geral.

Outra dica importante, apesar da dica do make file do kernel ainda ser válida. Muita coisa mudou  no processo de compilação do kernel em relação ao tópico do HqxRiven. Portanto aconselho a vocês a procurar um tuto atualizado, existem vários em inglês,  para poder colocar essa parte do make file do kernel em um tuto atualizado.

Obrigado!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: nomade em 28 de Novembro de 2012, 12:45
Fala galera, então, instalei o omnislash num pentium III 750Mhz com Lubuntu 10.04 e realmente notei um ganho de desempenho. Mas o comando:
Código: [Selecionar]
$cc -march=native -E -v - </dev/null 2>&1 | grep cc1 não me retorna nada.

Como fazer para otimizar para esse processador?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 29 de Novembro de 2012, 01:35
Fala galera, então, instalei o omnislash num pentium III 750Mhz com Lubuntu 10.04 e realmente notei um ganho de desempenho. Mas o comando:
Código: [Selecionar]
$cc -march=native -E -v - </dev/null 2>&1 | grep cc1 não me retorna nada.

Como fazer para otimizar para esse processador?

Olá nomade. Tá faltando você instalar os pacotes para poder compilar o kernel!

Tenta um:  apt-get install build-essential bin86 kernel-package libqt3-mt-dev wget libncurses5 libncurses5-dev

E tente executar os comandos novamente!

Esse meu tutorial assume que você já sabia dessa nescidade!  ;)

Olha o link: http://ubuntuforum-br.org/index.php/topic,29799.msg375471.html#msg375471

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: nomade em 29 de Novembro de 2012, 12:22
Resultou no seguinte:

Citar
build-essential já é a versão mais nova.
wget já é a versão mais nova.
libncurses5 já é a versão mais nova.
Alguns pacotes não puderam ser instalados. Isto pode significar que
você solicitou uma situação impossível ou, se você está usando a
distribuição instável, que alguns pacotes requeridos não foram
criados ainda ou foram retirados da "Incoming".
A informação a seguir pode ajudar a resolver a situação:

Os pacotes a seguir têm dependências desencontradas:
  libncurses5-dev: Depende: libncurses5 (= 5.7+20090803-2ubuntu3) mas 5.7+20101128-1 está para ser instalado
  libqt3-mt-dev: Depende: libxext-dev (>= 4.3.0.dfsg.1-4) mas não será instalado
                 Depende: libxrandr-dev (>= 4.3.0.dfsg.1-4) mas não será instalado
                 Depende: libsm-dev (>= 4.3.0.dfsg.1-4) mas não será instalado
                 Depende: libxmu-dev (>= 4.3.0.dfsg.1-4) mas não será instalado
                 Depende: libice-dev (>= 4.3.0.dfsg.1-4) mas não será instalado
                 Depende: libxt-dev (>= 4.3.0.dfsg.1-4) mas não será instalado
                 Depende: libxrender-dev mas não será instalado
                 Depende: libxcursor-dev mas não será instalado
                 Depende: libxinerama-dev mas não será instalado
                 Depende: libxi-dev mas não será instalado
                 Depende: zlib1g-dev mas não será instalado
                 Depende: libjpeg62-dev mas não será instalado
                 Depende: libmng-dev (>= 1.0.3) mas não será instalado
                 Depende: libpng12-dev mas não será instalado ou
                          libpng12-0-dev
                 Depende: libfontconfig1-dev mas não será instalado
                 Depende: libfreetype6-dev mas não será instalado
                 Depende: libxft-dev mas não será instalado
                 Depende: libcups2-dev mas não será instalado
                 Depende: libgl1-mesa-dev mas não será instalado ou
                          libgl-dev
                 Depende: libglu1-mesa-dev mas não será instalado ou
                          libglu-dev
E: Pacotes quebrados

Não sei bem o que fazer... não dá pra remover com segurança o libncurses5 (5.7+20101128-1), para eu tentar um downgrade. O que você me sugere, meu camarada galactus?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 29 de Novembro de 2012, 16:05
nomade, que versão do Ubuntu você está usando?

Que lista de repositórios você está usando também? Isso aí é conflito na sua lista de repositório. Tem coisa nova conflitando com velha!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: nomade em 29 de Novembro de 2012, 19:41
Lubuntu 10.04... esse PC é de um dos gabinetes da câmara de vereadores de Paraty-RJ, ele foi uma doação da Petrobras em um projeto de reciclagem de hardware. O camarada que administrava antes e está de saida colocou um monte de PPAs. Removí todas mas só isso não faz o downgrade, né, hehehe... e se eu remover o libncurses5 5.7+20101128-1(que é o que tá impedindo que a coisa ande) vai demorar até eu instalar novamente por conta de todas as dependências e da internet lentíssima e ainda corre o risco de vir a inutilizar o sistema. Como eu vou começar a trabalhar de fato com eles em janeiro. Por enquanto vou deixar assim, pois tô voltando pra minha cidade amanhã, quando eu voltar faço uma instalação limpa.

Valeu a atenção galactus! Abraço meu camarada!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Arthur Bernardes em 30 de MAR?O de 2013, 14:24
Aê galera, desculpem reviver o tópico, mas achei interessante o tuto, e queria um PDF, mas o link de download tá quebrado (MegaUpload ficou fora um tempo)..!

Valeu..!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: EdvaldoSCruz em 30 de MAR?O de 2013, 15:12
(MegaUpload ficou fora um tempo)..!

Valeu..!

O Megaupload saiu fora do ar por causa de acusações de pirataria  (http://tecnologia.ig.com.br/fbi-fecha-megaupload-e-prende-responsaveis-pelo-site/n1597586956518.html)

Mas agora estão dizendo que Ele voltou! Megaupload ressurge como Mega, ainda mais seguro e com espaço de 50 GB grátis.



 (http://www.tecmundo.com.br/mega/35515-ele-voltou-megaupload-ressurge-como-mega-ainda-mais-seguro-e-com-espaco-de-50-gb-gratis-atualizado-.htm)
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Arthur Bernardes em 30 de MAR?O de 2013, 16:56
Ele era um ótimo Servidor..!

Galactus, tem como me disponibilizar o PDF..?

Cara, tô querendo fazer um Overclock no meu Pentium 4 3.0 Ghz.! Como devo iniciar..? Faço por Bios ou compilando o Kernel melhoraria o desempenho..?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: nomade em 31 de MAR?O de 2013, 17:59
 
Ele era um ótimo Servidor..!

Galactus, tem como me disponibilizar o PDF..?

Cara, tô querendo fazer um Overclock no meu Pentium 4 3.0 Ghz.! Como devo iniciar..? Faço por Bios ou compilando o Kernel melhoraria o desempenho..?
Cara, o kernel otimizado melhora o desempenho significativamente, mas não é um overclock. É simplesmente uma configuração com instruções especificas para o funcionamento do sistema em geral com seu processador. Similar a isso é o apt-build, procure sobre ele, é mais simples que compilar o Kernel e tem quase o mesmo efeito, só que é em relação a instalação dos aplicativos e não da base do sistema.

Overclock é uma parada que depende de 4 fatores...
1º é a refrigeração do seu PC, ele tem que estar bem ventilado.
2º é se sua placa mãe tem opções de clock liberadas, por exemplo, nas placas ECS, só as black edition são tem edição de clock liberada, As gigabyte tem edições assim, as MSi costumam ser todas com clock aberto a mudanças... as plcas asus.
3º Saber quanto de clock o modelo específico do seu processador suporta.
4º Saber resetar o cmos de sua placa-mãe caso dê errado e o PC não inicialize depois de aumentar o clock. Essa informação você obtem no manual de sua placa.

Daí é só ir fazendo testes. Eu usei durante muito tempo um Celeron 430, que tem o clock padrão de 1.8 Ghz, com o clock de 3.0Ghz, sem sustos, com meus filhos jogando jogos pesados... era um ganho considerável, mas com a tampa do PC aberta e um ventilador virado pra ele. Mantinha a temperatura normal, pois esse processador, incrivelmente, suporta até 3.6Ghz. O seu pentium já é 3.0Ghz... até onde vale apena aumentar o clock? 3.2, 3.3 por aí... mas será que vai dar um ganho perceptível? Talvez em algum jogo, mas no uso do sistema em si, acho que nem vai notar a diferença.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Arthur Bernardes em 31 de MAR?O de 2013, 18:30
Então, acho que nem vale a pena, tem 6 anos já..! E ele já está no máximo.. Minha Placa-Mãe é ASUS, melhor então nem arriscar tanto assim..!

Mas se compilar o Kernel, posso melhorar o desempenho..? Tá deplorável usar esse computador com 4 usuários..! :(

É 2GB de Ram, com Pentium 4, essa bagaça hoje não vale nada, antes era top de linha, hoje é Top de Lixo..! ;D ;D

Mesmo assim, obrigado pelas informações amigo..!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: nomade em 31 de MAR?O de 2013, 18:46
Então, acho que nem vale a pena, tem 6 anos já..! E ele já está no máximo.. Minha Placa-Mãe é ASUS, melhor então nem arriscar tanto assim..!

Mas se compilar o Kernel, posso melhorar o desempenho..? Tá deplorável usar esse computador com 4 usuários..! :(

É 2GB de Ram, com Pentium 4, essa bagaça hoje não vale nada, antes era top de linha, hoje é Top de Lixo..! ;D ;D

Mesmo assim, obrigado pelas informações amigo..!
A ideia é que compilando o kernel otimizado dê um ganho razoável... só usei isso uma vez em um Lubuntu 10.04 instalado num pentium III 750Mhz (quer pior do que isso?)... deu um gás considerável!! Posso dizer que de impraticável ficou sofrível... hehehehe, mas já foi uma melhora... garanto. Numa escala de 1 à 100, melhorou 50% o desempenho. Mas era um PC muito ruim mesmo...
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: aceleron em 02 de Maio de 2013, 17:14
Pessoal, eu estou a compilar o kernel 3.9. Uso o linux já a alguns meses e tenho alguns conhecimentos de programação. Logo não sou "newbiesão" que está querendo dar passos maiores que as pernas. Até porque já compilei o kernel anteriormente a algum tempo e estou a fazer denovo.

Eu segui o tutorial do site abaixo por ser mais recente:
http://enterprisenetworks.wordpress.com/2012/11/13/compile-i3i5i7xeon-optimized-linux-kernel-on-ubuntu-12-04-x32/

Só que o processador que utilizo é um i3. Utilizei as dicas de alteração do march, mtune e mcpu desde tópico.
A dúvida que eu tenho é qual comando correto eu devo utilizar para iniciar a compilação.
Eu parei no comando:
fakeroot debian/rules clean

e para compilar segundo o site é:

skipabi=true skipmodule=true fakeroot debian/rules binary-indep
skipabi=true skipmodule=true fakeroot debian/rules binary-perarch
time skipabi=true skipmodule=true no_dumpfile=yes fakeroot debian/rules binary-nome_customizado_kernel

Já no site http://blog.avirtualhome.com/linux-kernel-3-9-on-ubuntu/ está assim:
PYTHON_CONFIG=x86_64-linux-gnu-python-config fakeroot debian/rules binary-indep

Neste outro http://linuxtweaking.blogspot.com.br/2011/04/how-to-recompile-your-ubuntu-1104.html está assim:
time fakeroot make-kpkg --initrd --append-to-version=-tweak kernel-image kernel-headers

e por ultimo no http://ubuntuforum-br.org/index.php/topic,29799.msg375471.html#msg375471 está assim:
#CONCURRENCY_LEVEL=2 make-kpkg --initrd --revision=x86 kernel_image kernel_headers modules_image

Isso sem contar que em todos os links as dependências que se deve baixar variam em todos. Mas o pior mesmo são os diferentes comandos para compilar.
Eu estou tentando, buscando e estudando o que cada comando fará. Mas se alguém for capaz de "dar uma luz" ...
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: aceleron em 03 de Maio de 2013, 11:46
De ontem para hoje já fiz umas 3 ou 4 compilações de kernel e sempre está dando problema no módulo do virtualbox. Apesar de gerar o kernel source como falaram anteriormente que é necessário, não está funcionando. Sempre fica dizendo: no suitable modules for this kernel. Já fiz a compilação do kernel 3.9 de várias maneiras e não funciona. Verifiquei inclusive que mencionaram anteriormente a necessidade do headers all, mas em nenhum modo de compilação gerou esse arquivo deb.
Eu me lembro que a uns 3 meses eu havia compilado um kernel, que eu não me lembro a versão, mas era uma mais atual que 3.2.X que eu usava na época e funcionou sem problemas. Instalei e o virtualbox funcionou, mas dessa vez não ...
No momento estou usando o 3.9, este que compilei e que o virtualbox não roda. Eu fiz um simples teste de "strees" no processador. Abri o wine com o nfs9 most wanted e não notei diferença de desempenho do 3.9 que eu compilei para o 3.7.X generico que é o anterior. O notebook continua no mesmo patamar de temperatura, etc. Se teve alguma melhor, eu não estou notando. O notebook que uso é um "samlixo" 300E4A com i3.
Por hora (ou dias, talvez) eu desisto.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: aceleron em 03 de Maio de 2013, 17:14
Em minha ultima tentativa de momento, eu fiz o seguinte:
Compilei mesclando as instruções daqui http://mapopa.blogspot.com.br/2009/01/compiling-2.html
com as daqui http://ubuntuforum-br.org/index.php/topic,29799.msg375471.html#msg375471

a diferença para as compilações anteriores foram estes dois comandos que não os executei antes, além do fato de que agora fiz com o kernel-3.8.8

Código: [Selecionar]
rm -rf /usr/src/linux-2.6.34

mkinitramfs -o /boot/initrd.img-3.8.8 /lib/modules/3.8.8

É ... após instalar os três DEBs gerados, o virtualbox continuou funcionando ao utilizar o 3.8.8, mas tem um detalhe. Na instalação dos DEBs aconteceu isso:


Selecting previously unselected package linux-headers-3.8.8.
(Reading database ... 159066 files and directories currently installed.)
Unpacking linux-headers-3.8.8 (from linux-headers-3.8.8_3.8.8-10.00.Custom_amd64.deb) ...
Selecting previously unselected package linux-image-3.8.8.
Unpacking linux-image-3.8.8 (from linux-image-3.8.8_3.8.8-10.00.Custom_amd64.deb) ...
Done.
Selecting previously unselected package linux-source-3.8.8.
Unpacking linux-source-3.8.8 (from linux-source-3.8.8_3.8.8-10.00.Custom_all.deb) ...
Setting up linux-headers-3.8.8 (3.8.8-10.00.Custom) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.8.8 /boot/vmlinuz-3.8.8
Error! echo
Your kernel headers for kernel 3.8.8 cannot be found at
/lib/modules/3.8.8/build or /lib/modules/3.8.8/source.

Setting up linux-image-3.8.8 (3.8.8-10.00.Custom) ...

 Hmm. There is a symbolic link /lib/modules/3.8.8/build
 However, I can not read it: No such file or directory
 Therefore, I am deleting /lib/modules/3.8.8/build


 Hmm. The package shipped with a symbolic link /lib/modules/3.8.8/source
 However, I can not read the target: No such file or directory
 Therefore, I am deleting /lib/modules/3.8.8/source

Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 3.8.8 /boot/vmlinuz-3.8.8
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.8.8 /boot/vmlinuz-3.8.8
update-initramfs: Generating /boot/initrd.img-3.8.8
Warning: No support for locale: en_US.utf8
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.8.8 /boot/vmlinuz-3.8.8
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.8.8 /boot/vmlinuz-3.8.8
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.8.8 /boot/vmlinuz-3.8.8
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.8.8
Found initrd image: /boot/initrd.img-3.8.8
Found linux image: /boot/vmlinuz-3.7.0-7-generic
Found initrd image: /boot/initrd.img-3.7.0-7-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Setting up linux-source-3.8.8 (3.8.8-10.00.Custom) ...
dpkg: warning: obsolete option '--print-installation-architecture'; please use '--print-architecture' instead
Examining /etc/kernel/src_postinst.d.


E na instalação dos pacotes, eu reiniciei a máquina e liguei o linux com o kernel 3.8 aí eu fui até o synaptic e procurei os pacotes do kernel 3.8.8 e não os encontrei, só estavam lá os do 3.7. Isso utilizando o kernel 3.8.8. Até confirmei mandando um uname -r.
Como eu fiz uma imagem do linux antes de iniciar os procedimentos de compilação de kernel e tudo mais, eu restaurei a imagem anterior e novamente instalei os pacotes DEBs do kernel 3.8.8 que compilei. De primeira, pensei que não ia adiantar de nada. Mas antes mesmo de bootar com o kernel 3.8.8, eu fui ao synaptic e procurei pelos pacotes 3.8 e desta vez eles estão lá. Vale destacar que o mesmo erro da saída acima ocorreu, mas está funcionando.

Resumindo, não sei se trocar do kernel 3.9 para o 3.8.8 foi o que adiantou ou se foram os dois comandos não executados anteriormente que resolveram agora. Mas mesmo assim e estranho essa mensagem de erro na instalação dos pacotes. O negócio é que a pasta /lib/modules/3.8.8/build existe, só que ela tem um tamanho de aproximados 46 mb enquanto a 3.7.0-7-generic tem 156 mb.
No geral, foram vários resultados diferentes para diferentes compilações de kernel. No mais vou ficar usando o 3.8.8 e verificar como ficará o desempenho geral da máquina em termos de processamento, bateria, etc.
Eu me lembro que quando compilei o kernel a primeira vez a uns três meses, eu utilizei as instruções do link http://duopetalflower.blogspot.com/2010/10/ubuntu-maverick-64bit-kernel.html
só na hora de compilar que eu não usei os comandos que o site usava. E um detalhe. Neste site (duopetalflower) tem alguém, nos comentário que disse ter tido o mesmo erro que eu, o erro de "no suitable modules kernel ....". O mesmo erro que tive ontem.
Conforme eu disse anteriormente, tenho só alguns meses de linux e muitas informações que eu sei ainda estão soltas e eu não consegui juntar o "quebra-cabeças". Se alguém que já montou o seu for capaz de dar alguma sugestão ou até mesmo corrigir alguma merd4 que eu falei ...
Por hora é isso e chega de compilação.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: aceleron em 04 de Maio de 2013, 00:01
   Só para fechar as minhas respostas anteriores, a respeito da questão do desempenho. Eu sei que em alguma das páginas anteriores deste tópico alguém falou alguma coisa sobre compilar atualizações, o sistema inteiro, etc, só não lembro quem e nem a página. Eu poderia até procurar para citar, mas estou sendo compelido por questões de sono e preguiça no momento.
   Anyway, o que eu quero dizer é uma coisa que muitos já devem estar "despentelhados" de tanto saber. Inclusive perguntei hoje na faculdade para um professor sobre essa questão de desempenho, e ele me disse resumidamente mais ou mesno isso:
"seu ganho de desempenho será quase nulo se os programas  não forem compilados para sua arquitetura.". Falou também que é bom compilar o kernel no caso de um firewall específico, caso você queira colocar módulos no núcleo nativamente, etc. Assim como ele disse e também falaram isso aqui no tópico, só faltou eu prestar atenção e não posso dizer que a compilação não serviu de nada. Quem sabe algum dia mais para frente eu resolva baixar todo o source do sistema, mais os programas e compilar tudo. Esse sim vai ser um longo dia.
   Sobre o kernel, estou usando o que eu compilei mesmo e ao menos, até o momento não tive problemas. Inclusive removi tudo o que é desnecessário do kernel antigo que eu usava.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: aceleron em 05 de Maio de 2013, 13:12
Hoje tentei instalar o kernel 3.9 generic que baixei através do http://kernel.ubuntu.com/~kernel-ppa/mainline/
E para minha surpresa aconteceu o mesmo problema que havia ocorrido quando compilei o 3.9. O mesmo problema com os módulos do virtual box. O problema foi exatamente igual. Instalei o kernel generic como sempre faço. Coloco todos os *.deb do kernel em uma pasta e instalo com
Código: [Selecionar]
sudo dpkg -i *.deb. Com isso concluo que deve ter alguma coisa de diferente com essa versão do kernel, ou eu estou fazendo alguma merd4 que ainda não percebi.
Para resolver eu reiniciei o computador e "botei" com o kernel 3.8.8 que eu compilei anteriormente e refiz os modulos do virtualbox
Código: [Selecionar]
sudo /etc/init.d/vboxdrv setup
que resolveu de boa. Ao menos com isso eu sei que eu estava compilando o kernel 3.9 anteriormente de forma certa. Parece que o problema está vindo da fábrica.

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 08 de Maio de 2013, 18:36
aceleron, entenda que o Ubuntu não é a distro apropriada para perceber toda a diferença que uma compilação customizada pode fazer.

Ele é uma distro binária. Se tentar o arch Linux ou o Gentoo você vai notar maior diferença.

O que dá diferença sim, apesar de muitos não concordarem, é que aplicávamos pacths para melhorar o desempenho do kernel junto com essas dicas do processador. É evidente que se você compilar o sistema inteiro, junto com suas aplicações para sua arquitetura do processador, a diferença vai ser muito maior. Mas como disse antes, o Ubuntu não foi feito para ser todo compilado. Então mexíamos até onde dava menos trabalho.

Você não está fazendo derma, dá muitos erros mesmo, pois os kerneis do Ubuntu são cheios de patchs. Eu mesmo já peguei versão do 3.8.8 de testes dele, já compilado, que não funcionava mais minha hibernação do Notebook. Sá na versão de produção corrigiram o problema. É nesses erros que você vai aprendendo. Verifica o que deu errado e procura corrigir, nem sempre consegue, mas a gente tenta.

Pelo menos você viu o tanto de coisas que você não usa que vem habilitada no kernel.

Você pode tentar também o apt-build, para compilar as aplicações. Dá um serviço do cacete manter tudo compilado com as atualizações constantes do sistema, mas é uma opção. Não é a melhor, mas também dá diferença.

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 10 de Maio de 2013, 21:07
Pessoal, depois de muuuuito tempo, resolvi compilar o kernel aqui. Vou compilar o kernel 3.9 do Ubuntu via git, sem patches, até porque o BFQ não foi lançado ainda para o 3.9 e eu já estou usando a versão pré-compilada e estou muito satisfeito.
Usando o .config deste kernel compilado, percebi que em I/O Scheduler a opção "deadline" está selecionada, ao invés do tradicional "CFQ". O que vocês acham?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 11 de Maio de 2013, 19:23
Pessoal, depois de muuuuito tempo, resolvi compilar o kernel aqui. Vou compilar o kernel 3.9 do Ubuntu via git, sem patches, até porque o BFQ não foi lançado ainda para o 3.9 e eu já estou usando a versão pré-compilada e estou muito satisfeito.
Usando o .config deste kernel compilado, percebi que em I/O Scheduler a opção "deadline" está selecionada, ao invés do tradicional "CFQ". O que vocês acham?

Vampire, dá uma lida no meu novo tuto, item 7:

http://ubuntuforum-br.org/index.php/topic,105729.0.html
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 12 de Maio de 2013, 09:50
Pessoal, depois de muuuuito tempo, resolvi compilar o kernel aqui. Vou compilar o kernel 3.9 do Ubuntu via git, sem patches, até porque o BFQ não foi lançado ainda para o 3.9 e eu já estou usando a versão pré-compilada e estou muito satisfeito.
Usando o .config deste kernel compilado, percebi que em I/O Scheduler a opção "deadline" está selecionada, ao invés do tradicional "CFQ". O que vocês acham?

Vampire, dá uma lida no meu novo tuto, item 7:

http://ubuntuforum-br.org/index.php/topic,105729.0.html

Tópico de tirar o fôlego, hein.
Parabéns!

Entendi a do deadline. Já havia compilado aqui com ele e estou usando, mas meu PC é i7. Vou tentar gerar umas isos do Lineduc para testar em máquinas mais modestas.
Estou tentando upar para o PPA também, mas sempre dá um erro no finalzinho  :-[

E o BFQ? Ainda vale a pena? Como ele organiza?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Renan Rischiotto em 13 de Maio de 2013, 15:16
~~boiando lendo o tópico  :-[~~

"Você pode continuar o seu tutorial habitual, como o do Hqxriven.  Baixe o fonte do kernel que você for usar, descompacte-o, aplique os patchs que você assim desejar, faça as alterações do menuconfig/xconfig que você pretende e só então realize as alterações sugeridas abaixo antes de efetivamente dar os comandos para compilar o kernel! Descobri que assim as chances de erros são bem menores!"

What?
Queria fazer isso mas nem sei o que é compilar e talz  :(
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 13 de Maio de 2013, 19:54
Pessoal, depois de muuuuito tempo, resolvi compilar o kernel aqui. Vou compilar o kernel 3.9 do Ubuntu via git, sem patches, até porque o BFQ não foi lançado ainda para o 3.9 e eu já estou usando a versão pré-compilada e estou muito satisfeito.
Usando o .config deste kernel compilado, percebi que em I/O Scheduler a opção "deadline" está selecionada, ao invés do tradicional "CFQ". O que vocês acham?

Vampire, dá uma lida no meu novo tuto, item 7:

http://ubuntuforum-br.org/index.php/topic,105729.0.html

Tópico de tirar o fôlego, hein.
Parabéns!

Entendi a do deadline. Já havia compilado aqui com ele e estou usando, mas meu PC é i7. Vou tentar gerar umas isos do Lineduc para testar em máquinas mais modestas.
Estou tentando upar para o PPA também, mas sempre dá um erro no finalzinho  :-[

E o BFQ? Ainda vale a pena? Como ele organiza?


O BFQ é melhor ainda para velocidade!

Ele faz escalonamento hierárquico com Cgroups, foi pensando pra ser de baixa latência e dá prioridade a áudio e vídeo, ainda por cima o desenvolvedor garante que ele vai agir como um CFQ, ou seja, sem criar gargalos para o sistema!

Dá pra acreditar em tudo isso?

Só sei que meu Core i7  nunca foi tão rápido quanto com a dupla BFS + BFQ!

Os escalonadores padrões são lentos!

Tô testando o pf-kernel. Achei que nem ia dar boot, peguei um pacote binário para o Ubuntu pra ver como era.

Não é o mais rápido, mas pra resistir a muitas requisições ao sistema como se não fosse nada ainda não vi igual! É incrível. 

E pra durar a bateria do meu Netbook também fiquei boquiaberto, agora meu Netbook rende igual ao Windows 7!

 
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 13 de Maio de 2013, 19:58
~~boiando lendo o tópico  :-[~~

"Você pode continuar o seu tutorial habitual, como o do Hqxriven.  Baixe o fonte do kernel que você for usar, descompacte-o, aplique os patchs que você assim desejar, faça as alterações do menuconfig/xconfig que você pretende e só então realize as alterações sugeridas abaixo antes de efetivamente dar os comandos para compilar o kernel! Descobri que assim as chances de erros são bem menores!"

What?
Queria fazer isso mas nem sei o que é compilar e talz  :(

Renan meu fio, é porque esse tópico foi feito pra quem já tem um pouco de experiência com essas coisas. É preciso estudar um pouco. Não é um tópico tipo ABC!

Primeiro estude um pouco sobre compilações do kernel. Tem muitos artigos ensinando o básico no Viva o Linux e na documentação oficial do Ubuntu em Inglês.

Não é bicho de 7 cabeças não.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Renan Rischiotto em 14 de Maio de 2013, 10:18
 :(
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 15 de Maio de 2013, 11:58

O BFQ é melhor ainda para velocidade!

Ele faz escalonamento hierárquico com Cgroups, foi pensando pra ser de baixa latência e dá prioridade a áudio e vídeo, ainda por cima o desenvolvedor garante que ele vai agir como um CFQ, ou seja, sem criar gargalos para o sistema!

Dá pra acreditar em tudo isso?

Só sei que meu Core i7  nunca foi tão rápido quanto com a dupla BFS + BFQ!

Os escalonadores padrões são lentos!

Tô testando o pf-kernel. Achei que nem ia dar boot, peguei um pacote binário para o Ubuntu pra ver como era.

Não é o mais rápido, mas pra resistir a muitas requisições ao sistema como se não fosse nada ainda não vi igual! É incrível.  

E pra durar a bateria do meu Netbook também fiquei boquiaberto, agora meu Netbook rende igual ao Windows 7!

 

Interessantíssimo!
Aonde eu baixo? Tem o código fonte?

Se quiser fazer aquele testdrive do kernel do Lineduc, pode adicionar:
Código: [Selecionar]
sudo add-apt-repository ppa:package-f/lineduc
Mas como não consegui upar o código fonte do kernel para o ppa também, adicione o repositório local do Lineduc que contém os binários:

Citar
deb http://lineduc.org/packages/lineduc precise main restricted

Ainda está com deadline. Assim que sair o BFQ para o 3.9, farei uma nova compilação.

Edit: baixando para testar:
http://sejalivre.org/aumentando-o-desempenho-do-ubuntu-e-debian-com-pf-kernel/
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 17 de Maio de 2013, 18:22
Vampire. Tudo o que você quer sobre o BFQ:

http://algo.ing.unimo.it/people/paolo/disk_sched/

Fontes e tudo mais!

Quando for testar me avisa que eu ajudo!

Já fez outro tuto de como compilar sem precisar baixar o Git inteiro? hahahahaha


Há, queria um link para baixar direto os kerneis do Lineduc. Não achei eles seguindo a linha do repositório.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 01 de Junho de 2013, 11:27
Vampire. Tudo o que você quer sobre o BFQ:

http://algo.ing.unimo.it/people/paolo/disk_sched/

Fontes e tudo mais!

Quando for testar me avisa que eu ajudo!

Já fez outro tuto de como compilar sem precisar baixar o Git inteiro? hahahahaha


Há, queria um link para baixar direto os kerneis do Lineduc. Não achei eles seguindo a linha do repositório.

Rapaz, não tem mistério. É só seguir aquele tutorial do git e desconsiderar os passos que você tem que usá-lo. Teve até um usuário aqui que já fez:
http://ubuntuforum-br.org/index.php/topic,87070.msg479938.html#msg479938

Aliás, acabei de fazer isso aqui também, pois baixei o git do saucy (porque usa o kernel 3.9) e compilei, mas não gostei do desempenho. Pra começar, o pacote linux-image.deb ficou com 50MB  :o
Parece que rechearam ele de drivers. E aqui ainda estava um bug de aparecer o ícone da bateria descarregando, como se eu estivesse usando um notebook. Então baixei o kernel oficial, apliquei os patches do Ubuntu+BFS+BFQ+aufs, usei o config do kernel PF e compilei. Ficou com 42MB e com desempenho muito melhor. Vou subir para você testar. Só não sei por que não consigo subir para o Lauchpad. Trava no último kb antes de acabar o upload.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 01 de Junho de 2013, 11:44
Rapaz, não tem mistério. É só seguir aquele tutorial do git e desconsiderar os passos que você tem que usá-lo. Teve até um usuário aqui que já fez:
http://ubuntuforum-br.org/index.php/topic,87070.msg479938.html#msg479938

Aliás, acabei de fazer isso aqui também, pois baixei o git do saucy (porque usa o kernel 3.9) e compilei, mas não gostei do desempenho. Pra começar, o pacote linux-image.deb ficou com 50MB  :o
Parece que rechearam ele de drivers. E aqui ainda estava um bug de aparecer o ícone da bateria descarregando, como se eu estivesse usando um notebook. Então baixei o kernel oficial, apliquei os patches do Ubuntu+BFS+BFQ+aufs, usei o config do kernel PF e compilei. Ficou com 42MB e com desempenho muito melhor. Vou subir para você testar. Só não sei por que não consigo subir para o Lauchpad. Trava no último kb antes de acabar o upload.

Hehehehe

Só pra tira onda daquel seu "mini-tuto"! :)

Então, vou compilar também pra ver o que vira!

Estou testando o pf-kernel compacotes binários para o Ubuntu. Viu lá no site do pf-kernel?

O kernel 3.9 tá inchado mesmo, todos os binários dele do pf-kernel estão com 50MB!

Quando conseguir subir o kernel é só avisar.

Obrigado!
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Beto Pinheiro em 01 de Junho de 2013, 20:03
Bom, o tópico contém dicas para melhorar o desempenho do ubuntu sem compilar! Utilizei uma das dicas do galactus e instalei/configurei o preload! Como não quero nem saber de me aventurar em compilações, mas pelas ótimas dicas dos 2 primeiros posts, acho que esse tópico deveria ser fixado! Abs :D
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 03 de Junho de 2013, 01:51

Hehehehe

Só pra tira onda daquel seu "mini-tuto"! :)

Então, vou compilar também pra ver o que vira!

Estou testando o pf-kernel compacotes binários para o Ubuntu. Viu lá no site do pf-kernel?

O kernel 3.9 tá inchado mesmo, todos os binários dele do pf-kernel estão com 50MB!

Quando conseguir subir o kernel é só avisar.

Obrigado!

Tá tudo aqui, incluindo o código fonte:
http://lineduc.org/packages/lineduc/pool/main/l/linux/

Só não sei porque continuo não conseguindo subir para o launchpad. Só esse pacote que não consigo. Vai ver que é o tamanho mesmo, pois os procedimentos que faço são sempre os mesmos.

Teste se você consegue instalar algum driver pelo Jockey. Aqui deu erro, mas como testei num macbook e o bicho é complicado, pode ser que o erro venha daí.
Compilei o kernel com o gcc 4.8, portanto pode ser que seja preciso fazer o update. Falo isso porque estou no Ubuntu 12.04, e o gcc padrão é o 4.6.


Links diretos (para poupar tempo):

http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-headers-3.9.4-3_3.9.4-3.1_all.deb

32 bits
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-headers-3.9.4-3-lineduc_3.9.4-3.1_i386.deb
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-image-3.9.4-3-lineduc_3.9.4-3.1_i386.deb

64 bits
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-headers-3.9.4-3-lineduc_3.9.4-3.1_amd64.deb
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-image-3.9.4-3-lineduc_3.9.4-3.1_amd64.deb

Se quiser, também tem os pacotes generic.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 03 de Junho de 2013, 11:01
Mais uma vez obrigado Vampire. Estou baixando e vou instalar para testar. Vou compilar uma versão do 3.9, mas acho que só vai dar pra fazer isso no outro final de semana.  Viu que o Tio Linus ficou P da vida por conta do tamanho do 3.9 e 3.10? Depois da bronca diminuíram um pouco o 3.10.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 03 de Junho de 2013, 19:36
Vampire, aqui vai uma análise preliminar do kernel lineduc-pf-kernel!

Consegui instalar o kernel via linha de comando. Em modo gráfico dava erro, dizia que as dependências não estavam satisfeitas. Em modo texto ele avisa que tem que fazer umas paradas mais tarde, sei lá, instalou sem erros!

O tempo de boot aumentou consideravelmente! Achei que até que tinha congelado. Com o kernel do site do pf-kernel o tempo de boot também aumentou, mas não tanto assim.

Com o kernel do Lineduc o suspender do meu Netbook deixou de funcionar. Com o do pf-kernel funciona numa boa.

Para algumas tarefas o kernel do Lineduc ficou mais rápido que o do pf-kernel, como a parte de vídeo. De resto estou testando.
Depois conto mais coisas.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: platao em 26 de Setembro de 2013, 14:27
Nesse topico o Galactus esta descrevendo como compilar o kernel otimizado para o seu processador, note que ele perdeu um bom tempo fazendo esse tutorial e explicando detalhadamente cada item, compartilhando do seu conhecimento na area com os companheiros.

Por gentileza, escreva novamente a sua duvida ou sugestao em portugues, para que todos possam entender.

 
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Trincaxlinux em 26 de Setembro de 2013, 15:13
Nesse topico o Galactus esta descrevendo como compilar o kernel otimizado para o seu processador, note que ele perdeu um bom tempo fazendo esse tutorial e explicando detalhadamente cada item, compartilhando do seu conhecimento na area com os companheiros.

Por gentileza, escreva novamente a sua duvida ou sugestao em portugues, para que todos possam entender.

 

mais uma vez mils desculpas meu teclado deve ta bugado so pode ser isso !!! ou sei la oq aki esta saindo a escrita correta ok ja falei so novato acho q um pouco de compreenssao poderia ter ne amigo mas tudo bem nao postarei mais nada me desculpe ok
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Trincaxlinux em 26 de Setembro de 2013, 15:28
o amigo me perdoe apaga ai por favor acho q fiz algo errado so qeria agradecer o topico   ( galactus :    
Re: Compilando o Kernel otimizado para o seu processador no Ubuntu! )





de forma alguma quis atrapalha em algo ok so ruim pra caramba pra lida com forum!!!
nossa consegui compilar o kernel com as dicas do meu mais novo idolo (((galactus ))e nao consegui posta um simples agradecimento !!! =(
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: platao em 26 de Setembro de 2013, 15:45
Ola Trincaxlinux, fique tranquilo :), capriche nas postagens e aproveite as dicas do Galactus!!!! Ele nao tem so esse tutorial interessante, como outros tbm.

Se precisar de apostilas e so pegar na minha assinatura abaixo.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Trincaxlinux em 26 de Setembro de 2013, 16:36
muito obrigado vou precisa msm dessas apostilas
pois to ne uma  briga danada pra conseguir instalar minha velha e boa radeon 4600 pci-e

acho q aprendi a responder direito aki ;D 
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: Trincaxlinux em 03 de Outubro de 2013, 18:33
muito obrigado vou precisa msm dessas apostilas
pois to ne uma  briga danada pra conseguir instalar minha velha e boa radeon 4600 pci-e

acho q aprendi a responder direito aki ;D  

amigo meu processador e um intel i3 3210 3.2 ghz qual seria os valores pra fazer a mudança
HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -pipe -fomit-frame-pointer -march=native -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=generic

desde ja agradeço !!!

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 18 de Outubro de 2013, 13:19
Estou tentando compilar o kernel 11.5 aqui e está dando um erro estranho:

Código: [Selecionar]
# Allow for multiple installed versions of cpupower and libcpupower.so:
# Override LIB_MIN in order to to generate a versioned .so named
# libcpupower.so.3.11.4-13 and link cpupower with that.
make -C /home/filipo/kernel/3.11/linux-3.11.5/debian/build/tools-perarch/tools/power/cpupower \
CROSS_COMPILE= \
LIB_MIN=3.11.4-13 CPUFREQ_BENCH=false
make[1]: Entering directory `/home/filipo/kernel/3.11/linux-3.11.5/debian/build/tools-perarch/tools/power/cpupower'
  CC       lib/cpufreq.o
  CC       lib/sysfs.o
  LD       libcpupower.so.0.0.0
  CC       utils/helpers/amd.o
utils/helpers/amd.c:7:21: fatal error: pci/pci.h: No such file or directory
 #include <pci/pci.h>
                     ^
compilation terminated.
make[1]: *** [utils/helpers/amd.o] Error 1
make[1]: Leaving directory `/home/filipo/kernel/3.11/linux-3.11.5/debian/build/tools-perarch/tools/power/cpupower'
make: ** [/home/filipo/kernel/3.11/linux-3.11.5/debian/stamps/stamp-build-perarch] Erro 2

Alguém sabe do que se trata?

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 17 de Novembro de 2013, 14:46
Estou tentando compilar o kernel 11.5 aqui e está dando um erro estranho:

Código: [Selecionar]
# Allow for multiple installed versions of cpupower and libcpupower.so:
# Override LIB_MIN in order to to generate a versioned .so named
# libcpupower.so.3.11.4-13 and link cpupower with that.
make -C /home/filipo/kernel/3.11/linux-3.11.5/debian/build/tools-perarch/tools/power/cpupower \
CROSS_COMPILE= \
LIB_MIN=3.11.4-13 CPUFREQ_BENCH=false
make[1]: Entering directory `/home/filipo/kernel/3.11/linux-3.11.5/debian/build/tools-perarch/tools/power/cpupower'
  CC       lib/cpufreq.o
  CC       lib/sysfs.o
  LD       libcpupower.so.0.0.0
  CC       utils/helpers/amd.o
utils/helpers/amd.c:7:21: fatal error: pci/pci.h: No such file or directory
 #include <pci/pci.h>
                     ^
compilation terminated.
make[1]: *** [utils/helpers/amd.o] Error 1
make[1]: Leaving directory `/home/filipo/kernel/3.11/linux-3.11.5/debian/build/tools-perarch/tools/power/cpupower'
make: ** [/home/filipo/kernel/3.11/linux-3.11.5/debian/stamps/stamp-build-perarch] Erro 2

Alguém sabe do que se trata?



Pessoal, baixei o 3.12 e o erro continua, mesmo tendo esse patch já aplicado:
http://lkml.indiana.edu/hypermail/linux/kernel/1212.1/00077.html

Será que é algo com o compilador? Como posso instalar o gcc 4.8.2 no Ubuntu 12.04? Estou com o 4.8.1
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 19 de Novembro de 2013, 18:07
Pôxa, que coisa hein. Infelizmente não posso te ajudar nessa. Não compilei nenhuma versão recente do kernel faz tempo. Achou mais gente com esse Bug por aí?
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 20 de Novembro de 2013, 23:27
Pôxa, que coisa hein. Infelizmente não posso te ajudar nessa. Não compilei nenhuma versão recente do kernel faz tempo. Achou mais gente com esse Bug por aí?

Consegui!

Adicionei o repositório src do Trusty, baixei o código-fonte do kernel (3.12) e dei um apt-get build-dep. Ele acusou a falta do pacote libpci-dev. Daí fiquei me achando um burro por não ter pensado numa coisa tão óbvia.

Contudo não consigo de jeito nenhum instalar o driver da AMD:

Código: [Selecionar]
DKMS make.log for fglrx-experimental-13-13.101 for kernel 3.12.0-3-lineduc (x86_64)
Qua Nov 20 23:21:23 BRST 2013
/usr/sbin/dkms: linha 73: cd: /var/lib/dkms/fglrx/13.101/build: Arquivo ou diretório não encontrado
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.12.0-3-lineduc/build SUBDIRS=/var/lib/dkms/fglrx-experimental-13/13.101/build/2.6.x modules
make[1]: Entrando no diretório `/usr/src/linux-headers-3.12.0-3-lineduc'
  CC [M]  /var/lib/dkms/fglrx-experimental-13/13.101/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx-experimental-13/13.101/build/2.6.x/firegl_public.c: In function ‘KCL_GetEffectiveUid’:
/var/lib/dkms/fglrx-experimental-13/13.101/build/2.6.x/firegl_public.c:1743:5: error: incompatible types when returning type ‘kuid_t’ but ‘KCL_TYPE_Uid’ was expected
     return current_euid();
     ^
/var/lib/dkms/fglrx-experimental-13/13.101/build/2.6.x/firegl_public.c:1747:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[2]: ** [/var/lib/dkms/fglrx-experimental-13/13.101/build/2.6.x/firegl_public.o] Erro 1
make[1]: ** [_module_/var/lib/dkms/fglrx-experimental-13/13.101/build/2.6.x] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-headers-3.12.0-3-lineduc'
make: ** [kmod_build] Erro 2
build failed with return value 2


PS: tive de desativar o hyperv, da Micro$oft, porque dava erro.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 21 de Novembro de 2013, 16:30
Neste pau com o driver da AMD você não está sozinho. Andei dando uma pesquisada e tem muita gente reclamando. Os mais diversos erros. E mesmo quando compila as vezes não funciona.  O meu Catalyst parou de funcionar direito depois de uma atualização de Bios. Voltei pro driver livre.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 22 de Novembro de 2013, 01:47
Neste pau com o driver da AMD você não está sozinho. Andei dando uma pesquisada e tem muita gente reclamando. Os mais diversos erros. E mesmo quando compila as vezes não funciona.  O meu Catalyst parou de funcionar direito depois de uma atualização de Bios. Voltei pro driver livre.

Percebi que o driver livre está funcionando bem. Funcionou até o audio do HDMI.
Mas acredito que na próxima versão do driver, já tenha suporte para novos kernels.

E por falar nisso, Galactus, se puder e tiver tempo de fazer aqueles testes legais que você faz, segue o kernel 3.12 saindo do forno: BFS + BFQ + 300Hz + Performance

headers:
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-headers-3.12.0-3_3.12.0-3.8.1_all.deb

32 bits:
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-headers-3.12.0-3-lineduc_3.12.0-3.8.1_i386.deb
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-image-3.12.0-3-lineduc_3.12.0-3.8.1_i386.deb

64 bits:
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-headers-3.12.0-3-lineduc_3.12.0-3.8.1_amd64.deb
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux-image-3.12.0-3-lineduc_3.12.0-3.8.1_amd64.deb
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 23 de Novembro de 2013, 17:28
Oi vampire,  putz meu! Esse 3.12 tá espetacular mesmo. Vou até compilar um personalizado pra minha máquina.  Instalei aqui e tava testando.  Realmente muito bom. Como você é mais comedido com as tunagem para performance, podia deixar 1000mhz please!  hehehehehehe

Brincadeira,  sei que esse kernel tem que atender a uma infinidade de máquinas. 

Vou fazer o vídeo e postar durante a semana. Mas aqui ficou show viu, aperto o calor dele e ele não pediu água.  O low-latência do Ubuntu responde inicialmente mais rápido,  mas não tem a fluidez do sistema quando aperto muito ele. Há,  testei no A10 5800k a 4.2Ghz! Vai ficar legal o vídeo,  mostrando uma APU da AMD.

Qual a receita de bolo pra mim compilar aqui com os mesmos patchs que você usou? Sem o git né!  kkkkkkkk
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 24 de Novembro de 2013, 12:58
Descobri um bug Vampire. As alterações que indico no sysctl para melhorar o ipv4 travam transferências de arquivos no samba com esse kernel. Sem as alterações vai tudo numa boa. Continuarei os testes e já vou alterar o tutorial sobre tunagem.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 24 de Novembro de 2013, 13:06
Oi vampire,  putz meu! Esse 3.12 tá espetacular mesmo. Vou até compilar um personalizado pra minha máquina.  Instalei aqui e tava testando.  Realmente muito bom. Como você é mais comedido com as tunagem para performance, podia deixar 1000mhz please!  hehehehehehe

Brincadeira,  sei que esse kernel tem que atender a uma infinidade de máquinas. 

Vou fazer o vídeo e postar durante a semana. Mas aqui ficou show viu, aperto o calor dele e ele não pediu água.  O low-latência do Ubuntu responde inicialmente mais rápido,  mas não tem a fluidez do sistema quando aperto muito ele. Há,  testei no A10 5800k a 4.2Ghz! Vai ficar legal o vídeo,  mostrando uma APU da AMD.

Qual a receita de bolo pra mim compilar aqui com os mesmos patchs que você usou? Sem o git né!  kkkkkkkk



Vou escrever um tutorial, mas basicamente eu baixo o kernel no kernel.org e os patches de acordo com a versão:

BFS:
http://ck.kolivas.org/patches/bfs/

BFQ:
http://algo.ing.unimo.it/people/paolo/disk_sched/sources.php

Ubuntu:
http://kernel.ubuntu.com/~kernel-ppa/mainline/

E sigo o tutorial do Git, pulando as partes que tem o git. Mas antes preciso dar permissão de execução para o debian/rules e os scripts da pasta debian/scripts.

Também aplico o patch do aufs (que baixo pelo git) para que o sistema funcione em modo live na hora de masterização.

Vou dar uma lida no seu tuto sobre tunagem. Aqui tá rodando tudo no default.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: py8elo em 29 de Novembro de 2013, 12:13
Problema de audio resolvido... Agora só falta o video...

Salve rapaziada,
baixei e instalei ontem esse kernel 3.12 do link nesse tópico, no meu 10.04 LTS e tá rodando redondinho, exceto pela placa Nvidia que não quer configurar e algumas falhas no audio usando propramas via wine...
No mais, um espetáculo!!! Diminuiu consideravelmente o consumo de memória e processamento no meu velho E7500...
Mas, logo resolverei esses pequenos problemas de audio e video...
Parabéns pelo trabalho!!!

[],
Silva.
PY8ELO


Oi vampire,  putz meu! Esse 3.12 tá espetacular mesmo. Vou até compilar um personalizado pra minha máquina.  Instalei aqui e tava testando.  Realmente muito bom. Como você é mais comedido com as tunagem para performance, podia deixar 1000mhz please!  hehehehehehe

Brincadeira,  sei que esse kernel tem que atender a uma infinidade de máquinas.  

Vou fazer o vídeo e postar durante a semana. Mas aqui ficou show viu, aperto o calor dele e ele não pediu água.  O low-latência do Ubuntu responde inicialmente mais rápido,  mas não tem a fluidez do sistema quando aperto muito ele. Há,  testei no A10 5800k a 4.2Ghz! Vai ficar legal o vídeo,  mostrando uma APU da AMD.

Qual a receita de bolo pra mim compilar aqui com os mesmos patchs que você usou? Sem o git né!  kkkkkkkk

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: py8elo em 29 de Novembro de 2013, 18:47
Vampire,
decobri que não consigo instalar a placa Nvidia por falta dos fontes do kernel... Mas, qual arquivo devo baixar???
[DIR]   v3.12-saucy/   04-Nov-2013 00:54    -    
[DIR]   v3.12-trusty/   08-Nov-2013 00:01    -    
[DIR]   v3.12.1-trusty/   20-Nov-2013 22:18    -    
[DIR]   v3.13-rc1-trusty/   22-Nov-2013 21:01    -    

Podes me ajudar???
Agradeço antecipadamente!

[],

Silva.
PY8ELO


Problema de audio resolvido... Agora só falta o video...

Salve rapaziada,
baixei e instalei ontem esse kernel 3.12 do link nesse tópico, no meu 10.04 LTS e tá rodando redondinho, exceto pela placa Nvidia que não quer configurar e algumas falhas no audio usando propramas via wine...
No mais, um espetáculo!!! Diminuiu consideravelmente o consumo de memória e processamento no meu velho E7500...
Mas, logo resolverei esses pequenos problemas de audio e video...
Parabéns pelo trabalho!!!

[],
Silva.
PY8ELO


Oi vampire,  putz meu! Esse 3.12 tá espetacular mesmo. Vou até compilar um personalizado pra minha máquina.  Instalei aqui e tava testando.  Realmente muito bom. Como você é mais comedido com as tunagem para performance, podia deixar 1000mhz please!  hehehehehehe

Brincadeira,  sei que esse kernel tem que atender a uma infinidade de máquinas.  

Vou fazer o vídeo e postar durante a semana. Mas aqui ficou show viu, aperto o calor dele e ele não pediu água.  O low-latência do Ubuntu responde inicialmente mais rápido,  mas não tem a fluidez do sistema quando aperto muito ele. Há,  testei no A10 5800k a 4.2Ghz! Vai ficar legal o vídeo,  mostrando uma APU da AMD.

Qual a receita de bolo pra mim compilar aqui com os mesmos patchs que você usou? Sem o git né!  kkkkkkkk

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 30 de Novembro de 2013, 14:04
Vampire,
decobri que não consigo instalar a placa Nvidia por falta dos fontes do kernel... Mas, qual arquivo devo baixar???
[DIR]   v3.12-saucy/   04-Nov-2013 00:54    -    
[DIR]   v3.12-trusty/   08-Nov-2013 00:01    -    
[DIR]   v3.12.1-trusty/   20-Nov-2013 22:18    -    
[DIR]   v3.13-rc1-trusty/   22-Nov-2013 21:01    -    

Podes me ajudar???
Agradeço antecipadamente!

[],

Silva.
PY8ELO


Problema de audio resolvido... Agora só falta o video...

Salve rapaziada,
baixei e instalei ontem esse kernel 3.12 do link nesse tópico, no meu 10.04 LTS e tá rodando redondinho, exceto pela placa Nvidia que não quer configurar e algumas falhas no audio usando propramas via wine...
No mais, um espetáculo!!! Diminuiu consideravelmente o consumo de memória e processamento no meu velho E7500...
Mas, logo resolverei esses pequenos problemas de audio e video...
Parabéns pelo trabalho!!!

[],
Silva.
PY8ELO




Eu cheguei a fazer o upload do código fonte desse kernel também. O link é esse:
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux_3.12.0-3.8.1.tar.gz


Edit: acabo de baixar o driver beta da AMD, lançado em 22/11/2013, e funcionou no novo kernel:
http://support.amd.com/pt-br/download/desktop?os=Linux%20x86_64

(https://lh5.googleusercontent.com/-5O-Y51OluE0/UpomhUERmGI/AAAAAAABB7o/h3iUOmEENac/s1024/Captura%2520de%2520tela%2520de%25202013-11-30%252015%253A47%253A44.png)

Portanto acredito que seja uma questão de tempo lançarem uma versão atualizada do driver da NVidia com suporte.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: py8elo em 01 de Dezembro de 2013, 12:14
Muito obrigado Vampire,
já estou baixando o código fonte...
Após baixa-lo, tentarei novamente instalar o driver Nvidia...

[],

Silva.

Vampire,
decobri que não consigo instalar a placa Nvidia por falta dos fontes do kernel... Mas, qual arquivo devo baixar???
[DIR]   v3.12-saucy/   04-Nov-2013 00:54    -    
[DIR]   v3.12-trusty/   08-Nov-2013 00:01    -    
[DIR]   v3.12.1-trusty/   20-Nov-2013 22:18    -    
[DIR]   v3.13-rc1-trusty/   22-Nov-2013 21:01    -    

Podes me ajudar???
Agradeço antecipadamente!

[],

Silva.
PY8ELO


Problema de audio resolvido... Agora só falta o video...

Salve rapaziada,
baixei e instalei ontem esse kernel 3.12 do link nesse tópico, no meu 10.04 LTS e tá rodando redondinho, exceto pela placa Nvidia que não quer configurar e algumas falhas no audio usando propramas via wine...
No mais, um espetáculo!!! Diminuiu consideravelmente o consumo de memória e processamento no meu velho E7500...
Mas, logo resolverei esses pequenos problemas de audio e video...
Parabéns pelo trabalho!!!

[],
Silva.
PY8ELO




Eu cheguei a fazer o upload do código fonte desse kernel também. O link é esse:
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux_3.12.0-3.8.1.tar.gz


Edit: acabo de baixar o driver beta da AMD, lançado em 22/11/2013, e funcionou no novo kernel:
http://support.amd.com/pt-br/download/desktop?os=Linux%20x86_64

(https://lh5.googleusercontent.com/-5O-Y51OluE0/UpomhUERmGI/AAAAAAABB7o/h3iUOmEENac/s1024/Captura%2520de%2520tela%2520de%25202013-11-30%252015%253A47%253A44.png)

Portanto acredito que seja uma questão de tempo lançarem uma versão atualizada do driver da NVidia com suporte.

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 01 de Dezembro de 2013, 21:54
Vampire, vou tentar compilar uma versão personalizada para o meu processador. Não sei quando, mas vou. rsrsrsr

Descobri outro bug aqui. Na velocidade da transferência de arquivos. Na minha rede gigabit não passa de 15Mb/s. Com o kernel lowlatency volta ao normal, passa dos 40mb/s.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: py8elo em 02 de Dezembro de 2013, 10:25
Bom dia Vampire,
continua dando erro quando tento instalar o driver 331.20 da Nvidia...
Depois eu vou recompilar ele pra ver consigo instalar o driver...

[],

Silva.
PY8ELO


Vampire,
decobri que não consigo instalar a placa Nvidia por falta dos fontes do kernel... Mas, qual arquivo devo baixar???
[DIR]   v3.12-saucy/   04-Nov-2013 00:54    -    
[DIR]   v3.12-trusty/   08-Nov-2013 00:01    -    
[DIR]   v3.12.1-trusty/   20-Nov-2013 22:18    -    
[DIR]   v3.13-rc1-trusty/   22-Nov-2013 21:01    -    

Podes me ajudar???
Agradeço antecipadamente!

[],

Silva.
PY8ELO


Problema de audio resolvido... Agora só falta o video...

Salve rapaziada,
baixei e instalei ontem esse kernel 3.12 do link nesse tópico, no meu 10.04 LTS e tá rodando redondinho, exceto pela placa Nvidia que não quer configurar e algumas falhas no audio usando propramas via wine...
No mais, um espetáculo!!! Diminuiu consideravelmente o consumo de memória e processamento no meu velho E7500...
Mas, logo resolverei esses pequenos problemas de audio e video...
Parabéns pelo trabalho!!!

[],
Silva.
PY8ELO




Eu cheguei a fazer o upload do código fonte desse kernel também. O link é esse:
http://lineduc.org/packages/lineduc/pool/main/l/linux/linux_3.12.0-3.8.1.tar.gz


Edit: acabo de baixar o driver beta da AMD, lançado em 22/11/2013, e funcionou no novo kernel:
http://support.amd.com/pt-br/download/desktop?os=Linux%20x86_64

(https://lh5.googleusercontent.com/-5O-Y51OluE0/UpomhUERmGI/AAAAAAABB7o/h3iUOmEENac/s1024/Captura%2520de%2520tela%2520de%25202013-11-30%252015%253A47%253A44.png)

Portanto acredito que seja uma questão de tempo lançarem uma versão atualizada do driver da NVidia com suporte.

Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: andreluz5 em 25 de Dezembro de 2013, 19:14
Eu tenho utilizado o método do Galactus em conjunto com as dicas do site abaixo:

http://duopetalflower.blogspot.com.br/2012/07/custom-64-bit-mint-13-or-ubuntu-1204.html

Embora o tutorial faça referência ao kernel 3.4.4, pode ser aplicado aos kernels mais atuais, desde que com algumas alterações (e.g. gcc4.8 ou 4.9 utilizar a configuração corei7-avx ou core-avx2, dependendo do tipo de processador). Estou utilizando o Kernel 3.12.6 com as otimizações apresentadas e não deu qualquer problema de incompatibilidade com drivers ou sinal de kernel panic.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 26 de Dezembro de 2013, 10:10
Eu tenho utilizado o método do Galactus em conjunto com as dicas do site abaixo:

http://duopetalflower.blogspot.com.br/2012/07/custom-64-bit-mint-13-or-ubuntu-1204.html

Embora o tutorial faça referência ao kernel 3.4.4, pode ser aplicado aos kernels mais atuais, desde que com algumas alterações (e.g. gcc4.8 ou 4.9 utilizar a configuração corei7-avx ou core-avx2, dependendo do tipo de processador). Estou utilizando o Kernel 3.12.6 com as otimizações apresentadas e não deu qualquer problema de incompatibilidade com drivers ou sinal de kernel panic.


Obrigado pela contribuição.  Vou dar uma pesquisada se encontro algum outro blog mostrando algo mais recente.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: vampire_thunder em 26 de Dezembro de 2013, 12:21
Eu tenho utilizado o método do Galactus em conjunto com as dicas do site abaixo:

http://duopetalflower.blogspot.com.br/2012/07/custom-64-bit-mint-13-or-ubuntu-1204.html

Embora o tutorial faça referência ao kernel 3.4.4, pode ser aplicado aos kernels mais atuais, desde que com algumas alterações (e.g. gcc4.8 ou 4.9 utilizar a configuração corei7-avx ou core-avx2, dependendo do tipo de processador). Estou utilizando o Kernel 3.12.6 com as otimizações apresentadas e não deu qualquer problema de incompatibilidade com drivers ou sinal de kernel panic.


Mas esse é o método que eu uso, sem as otimizações para o i7, porque compilo para ser usado em várias máquinas diferentes. A única diferença que percebi é o link para a pasta "linux":

Citar
Soft Link linux folder

Create a soft link for the extracted folder and change to the linux folder using cd

Código: [Selecionar]
ln -s linux-3.4.4 linux

cd linux

Vou fazer o teste aqui.
Título: Re: Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 27 de Dezembro de 2013, 11:35
Olha só, o kernel Liquorix atualizou para a versão 3.12.6.  Com essa atualização, além de ter ficado um pouquinho mais esperto, eles resolveram o problema com a transferência de arquivos em rede!  Agora o kernel Liquorix rende igual ao kernel padrão do Ubuntu.

Alguém leu o que alteraram para resolver o problema?

Vou compilar uma versão do 3.12.6 hoje para testar também.
Título: Re:Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: 4d4c47 em 29 de Fevereiro de 2016, 00:33
gcc-5.3.1 + -Ofast -march=native =  compilação em SUPER ALTA VELOCIDADE ; )

vejam isso :

http://www.phoronix.com/scan.php?page=news_item&px=GCC-5.3-New-Opt-Tests&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Phoronix+%28Phoronix%29


E isso :

http://www.phoronix.com/scan.php?page=news_item&px=GCC-Optimizations-E3V5-Levels&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Phoronix+%28Phoronix%29

faça seu proprio teste:

https://sourceforge.net/projects/scriptkernel/files/scriptkernel-libre-4.4.6.sh/download

script de compilação do kernel linux-libre com CFLAGS -Ofast + -march=native
Título: Re:Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: galactus em 29 de Fevereiro de 2016, 17:45
Você já testou a estabilidade do sistema com todas essas opções do GCC?

Título: Re:Compilando o Kernel otimizado para o seu processador no Ubuntu!
Enviado por: 4d4c47 em 29 de Fevereiro de 2016, 18:36
Você já testou a estabilidade do sistema com todas essas opções do GCC?

 sim, e ficou 100 % estável, pode testar ae e veja por voce mesmo.

Uma observação : o kernel é o "linux-libre", ou seja SEM BLOBS

Dê preferência ao gcc-5.3.0 se possível, assim vai haver uma maior performance, mas se não for possível, use qualquer versão do GCC acima da 4.7 (que tem suporte a cflag -Ofast)