Por man insmod :
A maioria dos usuários vai querer usar o modprobe, que é mais inteligente e pode lidar com dependências do módulo.
Existe alguma diferença entre insmod e modprobe?
Por man insmod :
A maioria dos usuários vai querer usar o modprobe, que é mais inteligente e pode lidar com dependências do módulo.
modprobe lê os módulos de /lib/modules/$(uname -r)/modules.dep.bin (ou sem o sufixo .bin se o outro arquivo não estiver disponível). Do mesmo arquivo, as dependências são carregadas.
modprobe aceita o nome de um arquivo .ko em /lib/modules/$(uname -r) (por exemplo, nvidia-current para o arquivo dkms/nvidia-current.ko ) e aliases ( modules.alias.bin ). Builtins ( modules.alias.bin ) também são reconhecidos, mas como esses módulos são carregados por padrão, não há motivos para modificar esse tipo de módulo.
insmod aceita caminhos para arquivos. O módulo não precisa residir em /lib/modules/$(uname -r) , mas as dependências não são carregadas automaticamente. Este é o programa mais baixo usado por modprobe para carregar módulos.
Outros programas relacionados aos módulos são rmmod e modinfo .
rmmod remove um nome de kernel com base no nome de /proc/modules . Esse nome não precisa necessariamente ser o mesmo que foi passado para modprobe (para o arquivo nvidia-current , isso é nvidia , por exemplo).
modinfo aceita um nome de arquivo ou o nome do arquivo sem o sufixo .ko em /lib/modules/$(uname -r) .
modprobe é um comando inteligente, procura por dependências ao carregar um módulo. Suponha que, se eu carreguei um módulo, que tem símbolos definidos em algum outro módulo (este caminho do módulo é dado dentro do módulo principal). Então, modprobe carrega o módulo principal e o módulo dependente.
Mas se insmod for usado, ele não carregará a dependência e, portanto, fornecerá erros de compilação como Unresolved symbols . Nesse caso, temos que procurar manualmente pelo módulo dependente e precisar carregá-lo para resolver os erros.
O utilitário modprobe merece uma menção rápida. O modprobe, como o insmod, carrega um módulo no kernel. Ele difere na medida em que irá olhar para o módulo a ser carregado para ver se ele faz referência a quaisquer símbolos que não estão atualmente definidos no kernel. Se tais referências forem encontradas, o modprobe procurará outros módulos no caminho de busca do módulo atual que definem os símbolos relevantes. Quando o modprobe encontra esses módulos (que são necessários pelo módulo que está sendo carregado), eles também são carregados no kernel. Se você usar insmod nessa situação, o comando falhará com uma mensagem de "símbolos não resolvidos" deixada no arquivo de log do sistema