Como instalar os cabeçalhos de desenvolvimento do kernel no staging com o Buildroot para o desenvolvimento do módulo do kernel?

2

Estou planejando fazer um desenvolvimento do módulo do kernel Rasperry Pi C / C ++ usando o BuildRoot 2015.08.1.

O que funciona:

  • Eu posso construir um kernel e um rootfs e inicializar o Raspberry Pi.
  • Eu posso construir / reconstruir um "hello world" usando o toolchain BuildRoot como um pacote genérico ou um pacote autotools.

O que não funciona:

  • Eu não posso incluir alguns cabeçalhos de kernel, por exemplo, linux / module.h. O conjunto de ferramentas não encontra este arquivo de cabeçalho.

Eu dei uma olhada no output / staging / usr / include. Eu posso encontrar alguns cabeçalhos linux, por exemplo, linux / net.h. No entanto, outros não estão lá, por exemplo, linux / module.h.

O cabeçalho que estou procurando está presente na árvore de origem do kernel. No entanto, ele não parece estar instalado no armazenamento temporário. Eu não tenho 100% de certeza que o BuildRoot chamou "make headers_install", mas parece uma suposição razoável. Alguém teria alguma indicação de como "make headers_install" seleciona os cabeçalhos a serem instalados? Ou estou faltando alguma outra coisa?

    
por marcv81 24.11.2015 / 03:38

2 respostas

1

I cannot include some kernel headers, for instance linux/module.h. The toolchain does not find this header file.

Módulo do kernel: O comando 'make' tem "internals" para fazer isso. Obras (apenas) se você estiver usando um Makefile especial do módulo de kernel do «→ →

link

por 24.11.2015 / 14:57
0

Aqui está uma configuração totalmente automatizada fora da árvore para módulos do kernel: link

Eu descrevi uma versão mínima disso em: link

O tipo de pacote $(eval $(kernel-module)) basicamente configura tudo para nós.

    
por 08.10.2017 / 18:57