Se você tiver um sistema de arquivos /proc
, o arquivo /proc/modules
existirá se e somente se o kernel for compilado com o suporte a módulos. Se o arquivo existe mas está vazio, seu kernel suporta módulos, mas nenhum está carregado no momento. Se o arquivo não existir, seu kernel não poderá carregar nenhum módulo.
É tecnicamente possível ter suporte a módulos carregáveis sem /proc
. Você pode verificar a presença das chamadas do sistema init_module
e delete_module
no binário do kernel. Isso pode não ser fácil se você tiver apenas um binário compactado (por exemplo, vmlinuz
ou uImage
). Veja Como eu descompacte o vmlinuz no vmlinux? para vmlinuz
. Uma vez que você tenha conseguido descomprimir a maior parte do kernel, procure pela string sys_init_module
.
Note que se os módulos forem suportados, você precisará de arquivos adicionais para compilar seus próprios módulos de qualquer maneira: cabeçalhos do kernel . Estes são arquivos de cabeçalho C ( *.h
), alguns dos quais são gerados quando o kernel é compilado (então você não pode simplesmente pegá-los da fonte do kernel). Veja O que uma árvore de código-fonte do kernel contém? Isso está relacionado aos cabeçalhos do kernel do Linux?