Estou construindo o busy-box e o iptables para um dispositivo incorporado e uma das dependências para eles são os cabeçalhos do kernel.
Procurei em todo o sistema de arquivos por arquivos * .ko e não os encontrei. Então concluí que os aplicativos não estão criando drivers carregáveis (módulos do kernel).
Quais são os outros casos para um aplicativo de espaço do usuário exigir cabeçalhos de kernel?
linux
linux-kernel
kernel-modules
TheMeaningfulEngineer
fonte
fonte
include <linux/*.h>
abrir um soquete? (Eu estava apontando para sys / socket.h)Respostas:
Como esses programas são criados para usar as coisas definidas nos cabeçalhos do kernel:
Para cada ferramenta específica, você precisa ler a fonte da ferramenta e o cabeçalho do kernel relevante para descobrir exatamente o que.
Você pode ver algumas coisas comentadas para facilitar.
Por exemplo,
mkfs_vfat
incluilinux/fd.h
para obterFDGETPRM
:Provavelmente, você pode remover o relevante
#include
e observar os erros do compilador para facilitar, receberá avisos de que algumas coisas não estão definidas. Provavelmente, essas coisas vêm dos cabeçalhos do kernel.fonte