cflags e compilaçao do kernel [RESOLVIDO]

1. cflags e compilaçao do kernel [RESOLVIDO]

josue de souza leite
josueleite

(usa Ubuntu)

Enviado em 09/01/2013 - 21:40h

Alguem sabe como fazer ou onde encontro um tutorial bom da compilação do kernel usando flags cflgas?passo a passo?


  


2. MELHOR RESPOSTA

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 09/01/2013 - 22:56h

Gentoo Wiki
http://www.gentoo-wiki.info/CFLAGS


Você pode expotar as CFLAGS antes da compilação, tipo:
export CFLAGS="-O3 -pipe -march=native" 

Isso exporta como variável e será válido enquanto durar sua sessão no shell.

Ou pode passar no momento da compilação, tipo:
make CFLAGS="-O3 -pipe -march=native" bzImage 

ou para compilar kernel e criar os pacotes .deb:
make-kpkg --initrd --append-to-version=-custom --revision=+1.0 CFLAGS="-O3 -pipe -march=native" kernel_image kernel_headers 

Nestes últimos será válido somente na execução da respectiva linha.

Quanto a qual flag ser utilizada, leia o link acima e escolha as que preferir.

3. Re: cflags e compilaçao do kernel [RESOLVIDO]

josue de souza leite
josueleite

(usa Ubuntu)

Enviado em 10/01/2013 - 01:05h

madrugada escreveu:

Gentoo Wiki
http://www.gentoo-wiki.info/CFLAGS


Você pode expotar as CFLAGS antes da compilação, tipo:
export CFLAGS="-O3 -pipe -march=native" 

Isso exporta como variável e será válido enquanto durar sua sessão no shell.

Ou pode passar no momento da compilação, tipo:
make CFLAGS="-O3 -pipe -march=native" bzImage 

ou para compilar kernel e criar os pacotes .deb:
make-kpkg --initrd --append-to-version=-custom --revision=+1.0 CFLAGS="-O3 -pipe -march=native" kernel_image kernel_headers 

Nestes últimos será válido somente na execução da respectiva linha.

Quanto a qual flag ser utilizada, leia o link acima e escolha as que preferir.


brigadao madrugada vc é dez vou tentar agora mesmo!Eu dei uma rapida leitura e entendi que com o O3 os binarios ficam enormes e carregam lentamente e "cause more disc I/O, etc" e eu queria o comando de compilação do kernel do ubuntu tem que baixar o kernel pra compilar ou ja tem no sistema?


4. Re: cflags e compilaçao do kernel [RESOLVIDO]

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 10/01/2013 - 01:55h

josueleite escreveu:
brigadao madrugada vc é dez vou tentar agora mesmo!Eu dei uma rapida leitura e entendi que com o O3 os binarios ficam enormes e carregam lentamente e "cause more disc I/O, etc" e eu queria o comando de compilação do kernel do ubuntu tem que baixar o kernel pra compilar ou ja tem no sistema?

Disponha.
No caso do kernel eu vejo vantagem. O binário não chega a ser um 1MB maior e a demora para o Grub carregá-lo não será percebida.
Em contrapartida, esse mesmo kernel carregará todo o resto do sistema bem mais rápido, pois o binário é mais rápido. E a execução dos aplicativos também será melhorada, pois todas são gerenciadas pelo kernel.

Não uso Ubuntu, mas se não me engano, ele não vem nem com o compilador, quanto mais os fontes do kernel.
Use a dica abaixo para saber quais ferramentas instalar:
http://www.vivaolinux.com.br/artigo/Recompilando-o-Kernel-no-Ubuntu-Linux-9.04

E a melhor resposta deste outro post, que é mais novo e utiliza o kernel 3.x, para saber como compilar para Debian-likes:
http://www.vivaolinux.com.br/topico/Debian/duvida-de-criar-kernel-linux-em-deb-no-debian-6

-pipe -> compila na Ram, torna o seu sistema lento,pois vai usar a mem. ram, mas a compilação é mais rápida;
-march=native -> faz o GCC reconhecer a sua arquitetura automaticamente e otimiza o binário para ela.

Editado
-pipe deixa o sistema lento enquanto durar a compilação. Ao término, ela libera toda a ram utilizada.


5. qual o kernel melhor?

josue de souza leite
josueleite

(usa Ubuntu)

Enviado em 10/01/2013 - 02:41h

madrugada escreveu:

josueleite escreveu:
brigadao madrugada vc é dez vou tentar agora mesmo!Eu dei uma rapida leitura e entendi que com o O3 os binarios ficam enormes e carregam lentamente e "cause more disc I/O, etc" e eu queria o comando de compilação do kernel do ubuntu tem que baixar o kernel pra compilar ou ja tem no sistema?

Disponha.
No caso do kernel eu vejo vantagem. O binário não chega a ser um 1MB maior e a demora para o Grub carregá-lo não será percebida.
Em contrapartida, esse mesmo kernel carregará todo o resto do sistema bem mais rápido, pois o binário é mais rápido. E a execução dos aplicativos também será melhorada, pois todas são gerenciadas pelo kernel.

Não uso Ubuntu, mas se não me engano, ele não vem nem com o compilador, quanto mais os fontes do kernel.
Use a dica abaixo para saber quais ferramentas instalar:
http://www.vivaolinux.com.br/artigo/Recompilando-o-Kernel-no-Ubuntu-Linux-9.04

E a melhor resposta deste outro post, que é mais novo e utiliza o kernel 3.x, para saber como compilar para Debian-likes:
http://www.vivaolinux.com.br/topico/Debian/duvida-de-criar-kernel-linux-em-deb-no-debian-6

-pipe -> compila na Ram, torna o seu sistema lento,pois vai usar a mem. ram, mas a compilação é mais rápida;
-march=native -> faz o GCC reconhecer a sua arquitetura automaticamente e otimiza o binário para ela.

Editado
-pipe deixa o sistema lento enquanto durar a compilação. Ao término, ela libera toda a ram utilizada.

Estranho no kernel.org tem a versao "stable: 3.7.1" mas no artigo o kra diz q só são estáveis as versões pares,e ai qual é a melhor e eu clico em full source?sim mais uma pergunta depois da compilacao com flags ele vai ficar em 64 bit?nos artigos nao tem c flags e esse menuconfig nao tem a opcao para o meu processador Intel(R) Core(TM)2 Duo CPU E7400 tem como compilar ja usando as cflags?


6. Re: cflags e compilaçao do kernel [RESOLVIDO]

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 10/01/2013 - 06:58h

josueleite escreveu:
Estranho no kernel.org tem a versao "stable: 3.7.1" mas no artigo o kra diz q só são estáveis as versões pares[...]

Isso era na versão 3.x.x

e ai qual é a melhor e eu clico em full source?

Sim. Ou escolha aqui:
http://www.kernel.org/pub/linux/kernel/v3.0/

mais uma pergunta depois da compilacao com flags ele vai ficar em 64 bit?

Depois do make menuconfig/config/oldconfig você vai ver entre as primeiras linhas do .config uma assim:
CONFIG_64BIT=y 


nos artigos nao tem c flags e esse menuconfig nao tem a opcao para o meu processador Intel(R) Core(TM)2 Duo CPU E7400 tem como compilar ja usando as cflags?

Utilize o generic, as otimizações você deixa por conta do parâmetro "-march=native". Ou pesquise a fundo sobre as origens do seu processador e descubra.


7. Re: cflags e compilaçao do kernel [RESOLVIDO]

josue de souza leite
josueleite

(usa Ubuntu)

Enviado em 10/01/2013 - 14:36h

madrugada escreveu:

josueleite escreveu:
Estranho no kernel.org tem a versao "stable: 3.7.1" mas no artigo o kra diz q só são estáveis as versões pares[...]

Isso era na versão 3.x.x

e ai qual é a melhor e eu clico em full source?

Sim. Ou escolha aqui:
http://www.kernel.org/pub/linux/kernel/v3.0/

mais uma pergunta depois da compilacao com flags ele vai ficar em 64 bit?

Depois do make menuconfig/config/oldconfig você vai ver entre as primeiras linhas do .config uma assim:
CONFIG_64BIT=y 


nos artigos nao tem c flags e esse menuconfig nao tem a opcao para o meu processador Intel(R) Core(TM)2 Duo CPU E7400 tem como compilar ja usando as cflags?

Utilize o generic, as otimizações você deixa por conta do parâmetro "-march=native". Ou pesquise a fundo sobre as origens do seu processador e descubra.


descobri,passei mais de 3 horas lendo e configurando,depois perguntou td de novo ,uma a uma, mas tem muita configuração é mais de mil fiquei segurando enter so pra ver quantas deu mais de 1 min de enter segurado,fiz a compilação mesmo assim so pra ver,agora nao tenho coragem de instalar sem saber o que configurei e se o grub nao reconhecer e se nao prestar?
,achei muito complicada a configuração.Devo estudar a documentação se existir nao achei nada sobre o assunto nem em inglês mas tem tutoriais sobre como compilar e tals "porem em ditros diferentes"


8. Re: cflags e compilaçao do kernel [RESOLVIDO]

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 10/01/2013 - 14:57h

josueleite escreveu:
descobri mas tem muita configuração é mais de mil fiquei segurando enter so pra ver quantas deu mais de 1 min de enter segurado mas fiz a complação mesmo assim so pra ver,agora nao tenho coragem de instalar sem saber o que configurei e se o grub nao reconhecer?

Se aparecer algum vilinuz* a mais no /boot o Grub-update reconhece e adiciona ao grub.cfg. Agora se o kernel que você compilou vai funcionar, aí já é outra história. O máximo que pode ocorrer é um "kernel panic", e a sua máquina trava enquanto inicia, aí só desliga tirando a tomada. Existe vários tutoriais na net e aqui no VOL. Estude bastante e volte a tentar.
Se a sua dúvida em relação às cflags foi sanada, coloque o tópico como resolvido e indique a melhor resposta se houver alguma.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts