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

Re: qual o gcc usado para compilar o kernel?



Gustavo Mendes de Carvalho wrote:
Marcos,

Ate onde consigo entender, a versao do gcc não importa tanto assim na compilacao do kernel, quando um release de subversao ou mesmo uma subversao é diferente (4.0.3-1 e 4.0.3-2, ou 4.0.4 e 4.0.3)
Eu tenho algumas maquinas com a versao sarge instalada, e compiladas com o kernel 2.6.13 usando o gcc versao 3.3.5.

Sim, a versão do gcc em si não faz muita diferença mesmo. O problema é que eu quero colocar novos módulos usando o 'module-assistant' (não sei como escreve, só uso m-a :-)), SEM ter que compilar o kernel inteiro de novo. Mas pra isso funcionar, TEM que ser a mesma versão do gcc pro kernel e pro módulo.
Por isso a preocupação com a versão....

No caso dos "unknown symbol", penso que, em se tratando C, é necessario definir as variaveis, simbolos, e outras coisas no codigo fonte do modulo, antes de partir para a compilacao. Infelizmente (ou felizmente) o C não é como Perl.

A minha dúvida é se ele não acha esses simbolos por problema da versão do gcc ou se eu preciso fazer alguma outra coisa... que não estou vendo...

Já o caso do demsg, penso que todas as informacoes tambem podem ser vistas no arquivo /var/log/dmesg. No link http://www.die.net/doc/linux/man/man8/dmesg.8.html existe uma explicacao sobre como visualizar todo o conteudo do buffer e alterar o parametro do tamanho do buffer.

Sim, o dmesg registra o conteúdo desse buffer do kernel, e assim que possível (depois de carregar o processo init (o de PID 1) e montar os sistemas de arquivos read-write) o sistema o copia para o arquivo (pois é um buffer circular). Porém, essa hora já é tarde! A porcaria do buffer já encheu, deu a volta e eu perdi o começo.

O dmesg tem o parâmetro -s, mas veja o comentário da man page:
"If you have set the kernel buffer to be larger than the default then this option can be used to view the entire buffer." Como não foi eu quem compilou o kernel (peguei do repositório), acho que está com o valor default de 16384. Mesmo que eu coloque p/ ele pegar mais bytes, não tem de onde vir.

talvez se eu colocasse vários nopci nousb noscsi noxxx .... não seriam impressas/detectadas tantas coisas e ai sobraria espaço.... mas é uma solução coxa.


--
Marcos



Reply to: