No Debian e derivados (Ubuntu, Mint, elementar,…), módulos listados em /etc/modules
(um por linha, e você pode especificar argumentos) são carregados no momento da inicialização.
Em sistemas baseados em systemd, módulos listados em /etc/modules-load.d/*.conf
( um por linha) são carregados no momento da inicialização.
No entanto, você normalmente não precisa carregar um módulo explicitamente. Para a maioria dos hardwares, o Linux detectará automaticamente o hardware e carregará o módulo apropriado. O Linux encontra o módulo certo por meio de um banco de dados armazenado em /lib/modules/VERSION/modules.alias
, que é preenchido a partir de declarações no código-fonte do módulo. Esta resposta explica a processo completo.
Coloque o arquivo .ko
que você compilou em algum lugar em /lib/modules/VERSION/
(você precisa fazer isso para obter modprobe
para encontrá-lo) e execute depmod -a
como root. Isso atualizará o banco de dados modules.aliases
. Depois disso, o módulo será carregado automaticamente durante a inicialização, quando o kernel detectar o hardware (ou melhor, quando o processo de carregamento do módulo for iniciado, já que o hardware é detectado antecipadamente durante o tempo de inicialização).
Se o seu hardware também é suportado por um módulo fornecido pela sua distribuição, mas o driver da distribuição é problemático, então não acho que haja uma maneira fácil de forçar um dos módulos a ser usado. Neste caso, você deve adicionar o módulo que você compilou para /etc/modules
e colocar o módulo padrão na lista negra adicionando uma linha blacklist MODULE_NAME
a /etc/modprobe.conf
.