modprobelê os módulos de /lib/modules/$(uname -r)/modules.dep.bin(ou sem o .binsufixo, se o outro arquivo não estiver disponível). Do mesmo arquivo, as dependências são carregadas.
modprobeaceita o nome de um .koarquivo em /lib/modules/$(uname -r)(por exemplo, nvidia-currentpara 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 faz sentido modificar esse tipo de módulo.
insmodpor outro lado, aceita caminhos para arquivos. O módulo não precisa residir /lib/modules/$(uname -r), mas as dependências não são carregadas automaticamente. Este é o programa inferior usado modprobepara carregar módulos.
Outros programas relacionados aos módulos são rmmode modinfo.
rmmodremove um nome de kernel com base no nome de /proc/modules. Esse nome não precisa necessariamente ser o mesmo que o passado para modprobe(para o nvidia-currentarquivo, nvidiapor exemplo).
modinfoaceita um nome de arquivo ou o nome do arquivo sem .kosufixo /lib/modules/$(uname -r).
modprobeé um comando inteligente, procura dependências ao carregar um módulo. Suponha que, se eu carregasse um módulo, que possui símbolos definidos em algum outro módulo (esse caminho é fornecido dentro do módulo principal). Portanto, modprobecarrega o módulo principal e o módulo dependente.
Mas se insmodfor usado, ele não carregará a dependência e, portanto, dará erros de compilação como Unresolved symbols. Nesse caso, precisamos procurar manualmente o módulo dependente e precisamos carregá-lo para resolver os erros.
O utilitário modprobe vale uma menção rápida. O modprobe, como o insmod, carrega um módulo no kernel. Ele difere no fato de que ele examinará o módulo a ser carregado para ver se ele faz referência a quaisquer símbolos que não estão definidos atualmente no kernel. Se alguma dessas referências for encontrada, o modprobe procurará outros módulos no caminho de pesquisa do módulo atual que define os símbolos relevantes. Quando o modprobe encontra esses módulos (que são necessários para o carregamento do módulo), eles também são carregados no kernel. Se você usar insmod nessa situação, o comando falhará com a mensagem "símbolos não resolvidos" deixada no arquivo de log do sistema
modprobe
lê os módulos de/lib/modules/$(uname -r)/modules.dep.bin
(ou sem o.bin
sufixo, se o outro arquivo não estiver disponível). Do mesmo arquivo, as dependências são carregadas.modprobe
aceita o nome de um.ko
arquivo em/lib/modules/$(uname -r)
(por exemplo,nvidia-current
para o arquivodkms/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 faz sentido modificar esse tipo de módulo.insmod
por outro lado, aceita caminhos para arquivos. O módulo não precisa residir/lib/modules/$(uname -r)
, mas as dependências não são carregadas automaticamente. Este é o programa inferior usadomodprobe
para carregar módulos.Outros programas relacionados aos módulos são
rmmod
emodinfo
.rmmod
remove um nome de kernel com base no nome de/proc/modules
. Esse nome não precisa necessariamente ser o mesmo que o passado paramodprobe
(para onvidia-current
arquivo,nvidia
por exemplo).modinfo
aceita um nome de arquivo ou o nome do arquivo sem.ko
sufixo/lib/modules/$(uname -r)
.fonte
modprobe
é um comando inteligente, procura dependências ao carregar um módulo. Suponha que, se eu carregasse um módulo, que possui símbolos definidos em algum outro módulo (esse caminho é fornecido dentro do módulo principal). Portanto,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, dará erros de compilação comoUnresolved symbols
. Nesse caso, precisamos procurar manualmente o módulo dependente e precisamos carregá-lo para resolver os erros.fonte
O utilitário modprobe vale uma menção rápida. O modprobe, como o insmod, carrega um módulo no kernel. Ele difere no fato de que ele examinará o módulo a ser carregado para ver se ele faz referência a quaisquer símbolos que não estão definidos atualmente no kernel. Se alguma dessas referências for encontrada, o modprobe procurará outros módulos no caminho de pesquisa do módulo atual que define os símbolos relevantes. Quando o modprobe encontra esses módulos (que são necessários para o carregamento do módulo), eles também são carregados no kernel. Se você usar insmod nessa situação, o comando falhará com a mensagem "símbolos não resolvidos" deixada no arquivo de log do sistema
fonte