Você compilou seu próprio kernel? Parece que você está passando uma árvore de código-fonte do kernel (em /root/linux-2.6.18.5
) para o sistema de compilação do módulo. Mas isso não é o que você precisa neste estágio. Para compilar módulos externos, você precisa de vários arquivos; alguns desses arquivos vêm diretamente da fonte do kernel, e outros são gerados durante a compilação do kernel. A maioria desses arquivos são cabeçalhos C ( .h
arquivos como include/linux/autoconf.h
), mas há alguns outros, como Module.symvers
.
Se você estiver executando um kernel que você compilou, você precisa manter parte da árvore de compilação. É mais fácil não excluir nada, mas se você tiver pouco espaço ou algo assim, deve manter pelo menos todos os arquivos chamados *.h
ou Kbuild
ou Makefile
, além de alguns arquivos na raiz da árvore de origem do kernel : .config
, .kernelvariables
e Module.symvers
.
Se você estiver executando um kernel fornecido pela sua distribuição, basta instalar o pacote contendo os cabeçalhos de kernel correspondentes (no CentOS, acho que é kernel-devel
). E não passe nenhum valor KERNEL_DIR
para o programa de instalação, ele deve ser capaz de encontrá-lo no local padrão.