Os arquivos do módulo do kernel estão localizados em diretórios como
/lib/modules/drivers/
/lib/modules/storage/
/lib/modules/fs/
todos eles têm a extensão .ko
mas como o kernel entende que um arquivo de módulo específico pertence a um determinado tipo e deveria estar em um determinado diretório?
relate perguntas
-
Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?
-
Inicie/pare o serviço systemd usando o atalho de teclado [fechado]
-
Necessidade de algumas chamadas de sistema
-
astyle não altera a formatação do arquivo de origem
-
Passe o sistema de arquivos raiz por rótulo para o kernel do Linux
O diretório de nível superior para módulos do kernel é determinado pela versão relatada do kernel (conforme mostrado por
uname -r
): os módulos entram em/lib/modules/$(uname -r)
. Os módulos construídos junto com o kernel vão para um subdiretório dokernel
diretório de nível superior; os módulos construídos posteriormente vão para um subdiretório doupdates
diretório.Dentro desses diretórios, os módulos do kernel são instalados de acordo com a localização do código-fonte na árvore. Assim, todos
block
os módulos estão no diretórioblock
, todosfs
os módulos estão no diretóriofs
, etc.Para escolher um exemplo específico,
/lib/modules/$(uname -r)/kernel/drivers/crypto/padlock-aes.ko
é construído a partir dedrivers/crypto/padlock-aes.c
; é declarado no Makefile relevante .Os módulos são encontrados no momento da instalação, procurando
modules.order
os arquivos gerados durante a construção. A implementação reside emscripts/Makefile.modinst
.