Comandos básicos para manipular módulos do Kernel

Os módulos são componentes do kernel que carregam quando solicitados por algum aplicativo e descarregam após o uso. Auxiliam a interação do kernel com diversos dispositivos do sistema. A administração do kernel linux pode exigir em algum momento a manipulação de um módulo. Isto pode ocorrer em diversas ocasiões como, por exemplo, quando há um conflito entre módulos de mesma função, que são oriundos de desenvolvedores diferentes, gerando, assim, a necessidade de carregar ou descarregar temporariamente a fim de testar um determinado funcionamento. Um exemplo bem conhecido é o conflito entre os drivers Nvidia e Nouveau e seus respectivos módulos.

lsmod
Lista os módulos carregados no sistema. Não possui parâmetros para adicionar ao comando.

# lsmod

modprobe
Carrega os módulos e as pendências necessárias para o funcionamento do módulo.

# modprobe [parametros] [nome-do-modulo]

Exemplo:

# modprobe usbcore

Alguns parâmetros:

-a : insere módulos
-d [diretório] : diretório onde os módulos podem ser encontrados
-r : remove módulos
-V ou –version : Exibe informações sobre o comando

Os módulos podem ser encontrados em /lib/modules/versao-kernel.

insmod
Carrega o módulo mas não carrega pendências.

# insmod [nome-do-modulo]

Forçar o carregamento:

# insmod -f [nome-do-modulo]

A opção acima não é recomenda. Use para carregar um módulo compilado de outro kernel.

Verifica o carregamento:

# lsmod | grep [nome-do-modulo]

depmod
Verifica as dependências do módulo. As dependências são verificadas e gravadas no arquivo /lib/modules/versao-do-kernel/modules.dep. No meu caso é /lib/modules/4.1.18-1-lts/modules.dep.

Exemplo:

# depmod -a

Alguns parâmetros:

-a : verifica as dependências de todos os módulos
-b [diretório] : define o nome do diretório base para gravar o arquivo de saída
-h : informa os módulos processados
-V : informa a versão do utilitário

modinfo
Exibe informações sobre o módulo.

# modinfo [parametros] [nome-do-modulo]

Alguns parâmetros: -a : mostra o autor -d : mostra um breve resumo -l : mostra licença -p : mostra parâmetros específicos

Exemplos:

# modinfo -a processor
Paul Diefenbaugh

Ou de outra forma, citando o diretório:

# modinfo -a /lib/modules/4.1.18-1 lts/kernel/drivers/powercap/intel_rapl.ko.gz
Jacob Pan

rmmod
Descarrega um módulo do sistema, mas somente descarrega e não exclui. Na próxima inicialização o módulo é carregado de novo.

# rmmod [nome-do-modulo]

Procurar no blog: