asm/
é um link simbólico para sua arquitetura de destino, se não existir provavelmente você está perdendo algum alvo no seu diretório de compilação do kernel, configure
(se não, talvez apenas module_headers
possa fazê-lo)
Não está claro a sua pergunta se você estiver usando a linha de comando, um Makefile personalizado ou um pacote do Buildroot (qual versão do Buildroot você está usando).
Sua linha de comando está construindo um objeto C .o
não um módulo do kernel ( .o
foi a extensão para módulos do kernel até a versão 2.4, de 2.6 é .ko
)
Se você não tiver certeza sobre os sinalizadores, aumente o detalhamento da construção dos módulos do kernel, compilação e log, e use o mesmo.
O kernel tem o seu caminho para construir módulos e o Buildroot tem o seu caminho para pacotes, o melhor é provavelmente criar um novo pacote para construir seu módulo (dê uma olhada se já houver algum outro pacote que construa um módulo).
Este exemplo é um pouco antigo, mas talvez ajude.
editar
O módulo ftdi_sio.ko
é gerado no diretório /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
Mas pode ser configurado como builtin
também, para que nenhum .ko
seja gerado, verifique o símbolo USB_SERIAL_FTDI_SIO em seu configuração (deve ser y
para builtin m
para o módulo).
Se estiver embutido ou inserido, deve haver uma interface /proc
em tempo de execução no destino chamado ftdi_sio , localize.