Dicas 16 jan 2010 12:58 pm
Erro ao compilar o kernel 2.6.31: implicit declaration of function ‘_cpu_down’
Ao tentar compilar a versão 2.6.31 do kernel linux (com suporte ao Xen) obtive a seguinte mensagem de erro:
kernel/cpu.c: In function 'disable_nonboot_cpus':
kernel/cpu.c:394: error: implicit declaration of function '_cpu_down'
make[1]: *** [kernel/cpu.o] Error 1
make: *** [kernel] Error 2
Uma rápida pesquisa no google me revelou que o problema se encontrava na falta do suporte a hot-pluggable cpu’s. Este recurso permite que CPU’s possam ser ligadas/desligadas durante a execução da máquina, possibilitando a economia de energia e a própria inclusão de novas CPU’s em sistemas multi-processados.
Esse recurso já vem habilitado por padrão caso você esteja configurando o kernel pela primeira vez, mas no meu caso, copiei o arquivo .config de outro kernel que não tinha esse suporte habilitado.
A solução é simples e envolve executar novamente o configurador do kernel para habilitar a opção pertinente ou editar diretamente o arquivo .config, sendo mais aconselhável executar o o configurador (make menuconfig).
A opção que precisa ser habilitada é CONFIG_HOTPLUG_CPU e pode ser encontrada em:
Processor type and features --->
[*] Support for hot-pluggable CPUs
Pronto, agora é só executar o make novamente e aguardar o fim da compilação.
Referências
Posts Relacionados:
Related posts brought to you by Yet Another Related Posts Plugin.
on 02 fev 2010 at 7:50 pm 1.Alex said …
Hi!
As a native French speaker, I was somehow able to understand most of the post — I ran into the same error and google wasn’t exactly helpful.
Thanks for the tip, much appreciated
on 07 fev 2010 at 8:07 pm 2.Claudinei said …
Hi. Thanks for your visit!
It’s nice to known this post is useful to somebody.