[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Opcoes do gcc para o make-kpkg - onde mudar?



Luiz Gonzaga da Mata wrote:
Marcos Lazarini,

Em Seg, Março 27, 2006 21:47, Marcos Vinicius Lazarini escreveu:

Estou compilando meu novo kernel com os novos fontes que sairam do ultimo
security update (semana passada?), tudo funcionou, mas estou com uma
dúvida:


Lá nas opções do kernel (make menuconfig), escolhi somente a arquitetura
que eu quero ter suporte, mas onde eu digo isso para o gcc?

Se nao me engano, precisa setar a opcao -march="athlon" (ou a
-mcpu="athlon"), mas nao achei nenhum lugar dizendo onde colocar isso no
make-kpkg.


Fiz uma varredura no source que compilei da versão 2.6.8 e ajustando o
processador para K7.

Quando executei o make menuconfig e escolhi o K7

O meu .config ficou assim:


# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set

Ao executar o make-kpkg ele checa o valor "setado" e ajusta a compilação
de acordo com esta opção para o processador:

Veja o grep, onde ele testa o CONFIG_MK7, do source do Kernel. Veja que
ele testa o tipo de processador pela variável.

arch/i386/lib/mmx.c:#ifdef CONFIG_MK7
arch/i386/Makefile:cflags-$(CONFIG_MK7)		+= $(call
check_gcc,-march=athlon,-march=i686 $(align)-functions=4)
arch/i386/defconfig:# CONFIG_MK7 is not set
include/linux/autoconf.h:#define CONFIG_MK7 1
include/asm-i386/processor.h:#elif defined(CONFIG_MK7)
include/asm-i386/module.h:#elif defined CONFIG_MK7
include/config/mk7.h:#define CONFIG_MK7 1
include/asm/processor.h:#elif defined(CONFIG_MK7)
include/asm/module.h:#elif defined CONFIG_>

Quando compilei, somente "setei" o processador e ele ajustou o march
específico.

Oi Luiz, muito boa a sua técnica - nao tinha pensando em fazer isso. Parece q ele fez isso mesmo, dei uma fuçada por aqui e me pareceu q ele compilou tudo conforme deveria ser (alias, ele faz uma série de truques por debaixo do pano). De qualquer jeito, no arch/i386/Makefile tem espaço pra fazer algumas mudanças conforme o caso....

MAS.... (sempre tem o mas... heheheheh)

veja o nome do arquivo que ele gerou:
kernel-image-2.6.8_custom.1.0_i386.deb
Observe o i386 no final.... nao veria ser alguma outra coisa (tipo k7) menos i386?? Não sei se poderia apenas renomear o arquivo...

De qualquer forma, já ajudou bastante - valeu!

--
Marcos



Reply to: