Por que o kernel-devel contém tantos diretórios “vazios”?

1

Sou desenvolvedor de kernel do Windows há muitos anos. Agora eu começo a desenvolver módulos do kernel Linux.

Para começar, instalei kernel-devel em /usr/src/kernels/$(uname -r) . No entanto, depois de verificar a pasta de instalação, estou confuso porque parece que há muitas pastas e arquivos aparentemente inúteis dentro do diretório. Muitas pastas estão vazias, exceto por dois arquivos: Kconfig e Makefile .

No Windows, para desenvolver drivers de dispositivo do kernel, eu só preciso de uma pasta include contendo todos os arquivos de cabeçalho necessários, e uma pasta lib contendo as bibliotecas necessárias para linkar.

No Linux, não consigo entender por que existem tantas pastas aparentemente inúteis.

Alguma explicação?

    
por xmllmx 22.05.2014 / 06:43

1 resposta

2

O pacote kernel-devel no Fedora e outros derivados da Red Hat não contém a fonte completa do kernel , apenas cabeçalhos para interfaces públicas e makefiles necessários para o desenvolvimento do driver. A maioria dos cabeçalhos pode ser encontrada em /usr/src/kernels/$(uname -r)/include/ e alguns cabeçalhos específicos de arquitetura, por exemplo, para x86 em /usr/src/kernels/$(uname -r)/arch/x86/include/ .

Os diretórios com Kconfig e Makefile não são inúteis, você só não vê a imagem completa porque você não tem toda a fonte do kernel (o que você normalmente não precisaria para o desenvolvimento do driver).

    
por 22.05.2014 / 09:34