Autor Tópico: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!  (Lida 2369694 vezes)

Offline MSXManiac

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3240 Online: 17 de Janeiro de 2011, 13:46 »
Podia ter novo tutorial pra compilar o omnislash com todas essas novidades, sou leigo mas to sempre lendo o forum e já vi uma tonelada de coisa nova bem interessante, como o patch do ureadache do gentoo, ou mesmo como compilar usando essas opções pra arquiterura do processador, mas como sou leigo não consigo acompanhar vocês e colocar isso no meu kernel =/

Boa! Apoiado! Até eu estou perdido!
É tanto patch e informação nessas trocentas páginas que eu estou mais perdido que cego em tiroteio!
Vai precisar no mínimo ser a 4 mãos (a.k.a. HQX & Galactus), ou 6, 8 e por aí vai!
Aliás dava pra reativar o teu wordpress não é HQX? Aproveitava-se e podia-se colocar os tutos do Galactus sobre tunar o ext4 e o jfs!
ASUSTek P5QPL-AM + Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (Yorkfield) + 4 Gb RAM 800 MHz

Offline buli

  • Usuário Ubuntu
  • *
  • Mensagens: 22
    • Ver perfil
Compilando o kernel com CFLAGS
« Resposta #3241 Online: 17 de Janeiro de 2011, 14:09 »
Galera, fiz o seguinte teste.

Código: [Selecionar]
cd /usr/src/linux
export KCFLAGS='-mtune=prescott -march=prescott'
make-kpkg --initrd --verbose linux_image >../make.log 2>&1

Explicação:

A segunda linha define a variável KCFLAGS com as otimizações que o usuário desejar.

Na terceira linha: --verbose é para visualizar na tela as mensagens do compilador. Nunca use --verbose para compilar o kernel "de verdade", pois é muito demorado. Use somente para testes.

O redirecionamento no final da terceira linha é opcional. Ele joga as mensagens do GCC num arquivo, para facilitar a leitura depois.

Fazendo isso, a compilação foi normal. De tanto em tanto o Make avisava o seguinte:

Código: [Selecionar]
make[1]: Entering directory `/usr/src/linux-2.6.36'
Makefile:608: "WARNING: Appending $KCFLAGS (-mtune=prescott -march=prescott) from environment to kernel $CFLAGS"

E o GCC compilava desse jeito:

Código: [Selecionar]
gcc -Wp,-MD,kernel/.sched.o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.4.3/include -I/usr/src/linux-2.6.36/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 -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i586 -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -mtune=prescott -march=prescott    -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(sched)"  -D"KBUILD_MODNAME=KBUILD_STR(sched)"  -c -o kernel/.tmp_sched.o kernel/sched.c

Se voce procurar, perto do final da linha acima tem as flags setadas -mtune=prescott -march=prescott .

Porém antes da ocorrência dessas flags tem outras. Por exemplo, mais ou menos perto do meio da linha tem as seguintes: -march=i586 -Wa,-mtune=generic32.

Eu já procurei na doc do GCC e não encontrei o que acontece quando tem flags repetidas, qual é a que vale. No caso das opções -O*, o manual do GCC diz que sempre vale a última, mas no caso de -m* como já disse não encontrei nenhuma indicação.

Se a dica acima funcionar, acho bacana, pois não é necessario editar o Makefile. Basta apena exportar a flags desejadas setando a variável KCFLAGS.


Offline ursaosededesangue

  • Usuário Ubuntu
  • *
  • Mensagens: 21
  • Espírito Livre
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3242 Online: 17 de Janeiro de 2011, 16:19 »
Olá amigos!

Preciso que me respondam se o jfs já está dentro do omnislash, ou terei de patchear o kernel tambem? No 2.6.36, sei que terei, mas no omni não sei... Segue citação do configx86-64 do omni(a partir da linha 4290):

CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set


Pra mim, isso não quis dizer nada com coisa alguma, mas...

Isso faz parte das mudanças para fazer no notebook, mais outras opções que li aqui, e o mais importante, que vocês possam me recomendar...

Aguardo retorno da rapaziada para me ajudar a fritar meu note...
Abraços.
2011, o ano do Soberano. Uma paixão em preto, branco e vermelho.
Dim terim bebim...
6-3-3

Offline havocz

  • Usuário Ubuntu
  • *
  • Mensagens: 77
    • Ver perfil
Re: Compilando o kernel com CFLAGS
« Resposta #3243 Online: 17 de Janeiro de 2011, 16:32 »
Galera, fiz o seguinte teste.

Código: [Selecionar]
cd /usr/src/linux
export KCFLAGS='-mtune=prescott -march=prescott'
make-kpkg --initrd --verbose linux_image >../make.log 2>&1

Explicação:

A segunda linha define a variável KCFLAGS com as otimizações que o usuário desejar.

Na terceira linha: --verbose é para visualizar na tela as mensagens do compilador. Nunca use --verbose para compilar o kernel "de verdade", pois é muito demorado. Use somente para testes.

O redirecionamento no final da terceira linha é opcional. Ele joga as mensagens do GCC num arquivo, para facilitar a leitura depois.

Fazendo isso, a compilação foi normal. De tanto em tanto o Make avisava o seguinte:

Código: [Selecionar]
make[1]: Entering directory `/usr/src/linux-2.6.36'
Makefile:608: "WARNING: Appending $KCFLAGS (-mtune=prescott -march=prescott) from environment to kernel $CFLAGS"

E o GCC compilava desse jeito:

Código: [Selecionar]
gcc -Wp,-MD,kernel/.sched.o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.4.3/include -I/usr/src/linux-2.6.36/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 -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i586 -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -mtune=prescott -march=prescott    -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(sched)"  -D"KBUILD_MODNAME=KBUILD_STR(sched)"  -c -o kernel/.tmp_sched.o kernel/sched.c

Se voce procurar, perto do final da linha acima tem as flags setadas -mtune=prescott -march=prescott .

Porém antes da ocorrência dessas flags tem outras. Por exemplo, mais ou menos perto do meio da linha tem as seguintes: -march=i586 -Wa,-mtune=generic32.

Eu já procurei na doc do GCC e não encontrei o que acontece quando tem flags repetidas, qual é a que vale. No caso das opções -O*, o manual do GCC diz que sempre vale a última, mas no caso de -m* como já disse não encontrei nenhuma indicação.

Se a dica acima funcionar, acho bacana, pois não é necessario editar o Makefile. Basta apena exportar a flags desejadas setando a variável KCFLAGS.


Bacana heim ! Vou testar isso em casa ^_^
°v°
/( )\\ Linux User #433307
^ ^   Debian 7

Offline galactus

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.683
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3244 Online: 17 de Janeiro de 2011, 16:50 »
Olá amigos!

Preciso que me respondam se o jfs já está dentro do omnislash, ou terei de patchear o kernel tambem? No 2.6.36, sei que terei, mas no omni não sei... Segue citação do configx86-64 do omni(a partir da linha 4290):

CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set


Pra mim, isso não quis dizer nada com coisa alguma, mas...

Isso faz parte das mudanças para fazer no notebook, mais outras opções que li aqui, e o mais importante, que vocês possam me recomendar...

Aguardo retorno da rapaziada para me ajudar a fritar meu note...
Abraços.

Não precisa de nenhum patch para o JFS, já está dentro do Kernel. Só precisa ser marcado para compilar dentro dele e não como módulo! Senão seu sistema não vai nem dar o boot!

Para notebook tem que ter mais calma nas opções, senão você fica sem bateria logo! Mas você é quem sabe!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Offline ursaosededesangue

  • Usuário Ubuntu
  • *
  • Mensagens: 21
  • Espírito Livre
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3245 Online: 17 de Janeiro de 2011, 17:03 »
Oi galactus!

É naquelas né, há no meio dessas páginas dicas para colocar 300 / server / performance / bfs / cfq, há outra para colocar 300 / low-latency / on-demand, ou habilitar-desabilitar bfs / bfq...

Partindo do pressuposto que tenho um celeron m550 em mãos, e seu que é arquitetura nocona, 300 já é valor fixo, agora o resto... vou socar a porva, né? ;D  A vida é assim... ::)

Abraços!
2011, o ano do Soberano. Uma paixão em preto, branco e vermelho.
Dim terim bebim...
6-3-3

Offline galactus

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.683
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3246 Online: 17 de Janeiro de 2011, 17:28 »
Quanto a uma atualização no Tutorial do Omnislash quem sabe é o HQxriven!

Eu mesmo acho que ele vai colocar coisa não testada para vocês!

Pra quem chegou agora e quer sentar na janelinha fica complicado mesmo!  ;D

Vou tentar resumir a ópera!

Desde que o HQx lançou a versão 1.4.4 com o kernel 2.6.34, muita coisa mudou, já estamos no kernel 2.6.37 e muitos dos patchs que ele colocou já mudaram de versão!  A questão é que muitos aqui pegaram essa "febre" de ter o kernel mais novo com tudo que for patch mais novo também! Eu mesmo não sei que é o mais doente daqui!  ;D

Aí entra o fato da gente ter aprendido coisas novas que ainda estamos testando que prometem aumentar ainda mais o desempenho!  O que faltava pra mim era ele ter definido o kernel do novo Omnislash!  Agora dá pra trabalhar no 2.6.37, que ao que parece vai ser esse!

Então se ele mudar o tuto, vai ser para mostrar como colocar patchs novos, sem testes e mudanças em arquivos importantes sem saber o que altera no desempenho final!  Então vai ficar por conta de vocês também resolverem os pepinos!  Porque daí ficar no pé do HQx pra resolver pau de patch não testado é soda!!!!



BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Offline ursaosededesangue

  • Usuário Ubuntu
  • *
  • Mensagens: 21
  • Espírito Livre
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3247 Online: 17 de Janeiro de 2011, 17:45 »
 :o hehehe Calma lá, tô desde 2007 nessa estrada, desde o 2.6.não lembro...

E pior, nem ubuntu uso...  ;D

Novas enquanto baixo o DVD 64bit: sabem do kernel slh, do sidux (ops, aptosid), tô tentando abrir ele pra recompilar, já extraí o .config dele, vou tentar acertar o gcc e os march=native nele, pra esquentar um pouco...

Serei um bom menino, vamos lá...  ::) Faço até adaptações...

Abraços!
 
Edit: (19:51) Compilando, apareceu assim no frankie: ...-march=native -mtune=pentium4 -mtune=generic... e tambem ...-march=pentium4 -m32 -msoft-float -mregparm=3 -mpreferred-stack-boundary=2 -mtune=pentium4 -mtune=generic... Acho que vai, pois o frankie é pentium 4.
« Última modificação: 17 de Janeiro de 2011, 19:54 por ursaosededesangue »
2011, o ano do Soberano. Uma paixão em preto, branco e vermelho.
Dim terim bebim...
6-3-3

Offline Gunss

  • Usuário Ubuntu
  • *
  • Mensagens: 618
    • Ver perfil
Re: Compilando o kernel com CFLAGS
« Resposta #3248 Online: 17 de Janeiro de 2011, 20:15 »
Galera, fiz o seguinte teste.

Código: [Selecionar]
cd /usr/src/linux
export KCFLAGS='-mtune=prescott -march=prescott'
make-kpkg --initrd --verbose linux_image >../make.log 2>&1

Explicação:

A segunda linha define a variável KCFLAGS com as otimizações que o usuário desejar.

Na terceira linha: --verbose é para visualizar na tela as mensagens do compilador. Nunca use --verbose para compilar o kernel "de verdade", pois é muito demorado. Use somente para testes.

O redirecionamento no final da terceira linha é opcional. Ele joga as mensagens do GCC num arquivo, para facilitar a leitura depois.

Fazendo isso, a compilação foi normal. De tanto em tanto o Make avisava o seguinte:

Código: [Selecionar]
make[1]: Entering directory `/usr/src/linux-2.6.36'
Makefile:608: "WARNING: Appending $KCFLAGS (-mtune=prescott -march=prescott) from environment to kernel $CFLAGS"

E o GCC compilava desse jeito:

Código: [Selecionar]
gcc -Wp,-MD,kernel/.sched.o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.4.3/include -I/usr/src/linux-2.6.36/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 -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i586 -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -mtune=prescott -march=prescott    -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(sched)"  -D"KBUILD_MODNAME=KBUILD_STR(sched)"  -c -o kernel/.tmp_sched.o kernel/sched.c

Se voce procurar, perto do final da linha acima tem as flags setadas -mtune=prescott -march=prescott .

Porém antes da ocorrência dessas flags tem outras. Por exemplo, mais ou menos perto do meio da linha tem as seguintes: -march=i586 -Wa,-mtune=generic32.

Eu já procurei na doc do GCC e não encontrei o que acontece quando tem flags repetidas, qual é a que vale. No caso das opções -O*, o manual do GCC diz que sempre vale a última, mas no caso de -m* como já disse não encontrei nenhuma indicação.

Se a dica acima funcionar, acho bacana, pois não é necessario editar o Makefile. Basta apena exportar a flags desejadas setando a variável KCFLAGS.



fiz algo parecido um dia desses.

Código: [Selecionar]
export KCFLAGS="-march=native mtune=native"
export KPPCFLAGS="-march=native mtune=native"

No caso, flags para C e C++, porém aqui deu erro. Porém no site que vi a dica o cara não explicava assim como você. Vou testar novamente.

Queria um Six-core agora para a compilação ser mais rápida hehe. Usando essas flags a compilação demora mais ou é impressão?

Offline Metalbobolic

  • Usuário Ubuntu
  • *
  • Mensagens: 215
    • Ver perfil
    • Seu Lugar para pensar
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3249 Online: 17 de Janeiro de 2011, 21:58 »
Eu tava acompanhando o topico, estava até, ligeiramente entendendo..

Agora pra mim virou grego!!!  ;D

Offline Andreson Goveia

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.985
  • Kubuntu 14.10
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3250 Online: 17 de Janeiro de 2011, 22:10 »
Compilei aqui, fiz as alterações nos aquivos, e deu tudo certo

compilei o Kernel 2.6.37 com tudo em -march=native, e com bfs e bfq, no gcc 4.5, mas tive que sair e agora estou no trabalho, não deu para testar muito, mas está tudo funcionando normalmente, falta ver agora o quanto melhorou.

Realmente isso tudo ta virando uma verdadeira aula,
(amo muito tudo isso, kkkkkkkkkkkkkkkkk).

Offline MSXManiac

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3251 Online: 18 de Janeiro de 2011, 01:38 »
Só para dar um refresh nesse post meio antigão mas que Com cerveja, Norteña dúvidas dá uma desestressada!

 ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D



Meu caro Riven...

Já que você está mais do que qualquer outro fazendo testes e mais testes, aqui vai uma oraçãozinha prá lá de necessária!
Não esqueça de orar antes de começar a futricar no kernel. É a oração dos programadores ao G.A.D.K. (Grande Arquiteto Do Kernel) ou simplesmente Pai Kernel!


Sistema Operacional que estais na memória
Compilado seja o vosso programa
Venha à tela os vossos comandos
Seja executada a nossa rotina
Assim na memória, como na impressora

Acerto nosso de cada dia, rodai hoje
Informai os nossos erros
Assim como nós informamos o que está corrigido
Não nos deixai entrar em looping
e livrai-nos do coredump

Amém.
 ;D


 :D :D :D :D :D :D :D :D :D :D :D :D
ASUSTek P5QPL-AM + Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (Yorkfield) + 4 Gb RAM 800 MHz

4d4c47

  • Visitante
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3252 Online: 18 de Janeiro de 2011, 02:36 »
@galactus,

vi que usa processador intel, já ouviu falar do linuxDna ?

é um projeto que usa o icc (compilador da intel de alta peformance) para compilação do kernel linux, se algum dia tiver tempo, faça uns testes aé pra gente e vê se isso presta mesmo, aqui vai o link:

http://www.linuxdna.com/


Offline Andreson Goveia

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.985
  • Kubuntu 14.10
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3253 Online: 18 de Janeiro de 2011, 03:50 »
@galactus,

vi que usa processador intel, já ouviu falar do linuxDna ?

é um projeto que usa o icc (compilador da intel de alta peformance) para compilação do kernel linux, se algum dia tiver tempo, faça uns testes aé pra gente e vê se isso presta mesmo, aqui vai o link:

http://www.linuxdna.com/


To baixando o compilador da intel

http://software.intel.com/en-us/articles/non-commercial-software-development/

Vou tentar instalar e compilar o Kernel com ele, vamos ver no isso vai dar.

Offline galactus

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.683
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #3254 Online: 18 de Janeiro de 2011, 09:21 »
@galactus,

vi que usa processador intel, já ouviu falar do linuxDna ?

é um projeto que usa o icc (compilador da intel de alta peformance) para compilação do kernel linux, se algum dia tiver tempo, faça uns testes aé pra gente e vê se isso presta mesmo, aqui vai o link:

http://www.linuxdna.com/



Eu já tinha visto sim, se não me engano foi o Gunss até quem falou disso, tem várias páginas para trás!

Só não testei ainda!  É muita coisa!  ;D
Assim que puder eu testo! O medo é de moer o sistema do trabalho ou de casa! Tenho que arrumar um sistema cobaia que possa ser destruído sem tem que reconstruir depois!

Quanto a compilação para Atom com native, o que posso dizer?

Sem sombra de dúvidas o sistema é outro! 

É a primeira vez que tenho um sistema rápido usando Atom na compilação do Menuconfig mais os -march=native onde achei para trocar!  Estou conseguindo usar o Trio (1000MHz, Low Latency, Performance) mais CFQ no Atom!   No Atom!!!!  Sem gargalos! É realmente incrível! Agora o sistema não tem a mesma fluidez do vídeo que postei, também usei opções mais "calmas" né! Notei basicamente as mesmas melhoras com o i7!  A parte de multimídia melhorou, a navegação nem se fala!

Esse march=native é tora mesmo!

O ursaosededesangue que vai compilar para P4 então....

Vai decolar esse P4, vai casar direitinho o processador com o sistema!   
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.