Estou procurando por alguns módulos do kernel para carregar i2c-dev
e i2c-bcm2708
. Mas o modprobe
comando retorna:
sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
Como posso listar todos os módulos disponíveis no sistema? Em qual diretório eles estão localizados?
linux-kernel
kernel-modules
UserK
fonte
fonte
Respostas:
Por padrão,
modprobe
carrega módulos de subdiretórios localizados no/lib/modules/$(uname -r)
diretório Normalmente, todos os arquivos têm extensão.ko
, para que você possa listá-los comou, levando em consideração os arquivos compactados:
No entanto, para carregar um módulo, é
modprobe
necessário ter suas dependências listadas no arquivo/lib/modules/$(uname -r)/modules.dep
(e uma versão binária correspondentemodules.dep.bin
). Se algum módulo estiver presente no sistema, mas não estiver na lista, execute um comandodepmod
que gere essas dependências e inclua automaticamente seu módulo emmodules.dep
emodules.dep.bin
.Além disso, se o módulo for carregado com sucesso, ele será listado no arquivo
/proc/modules
(também acessado via comandolsmod
).fonte
find /lib/modules/$(uname -r) -type f -name *.ko*
.gz
*.ko*
se você tiver no diretório atual algum arquivo correspondente a ele. melhor escapar entre aspas simples:find /lib/modules/$(uname -r) -type f -name '*.ko*'
Digite
modprobe
e pressione a guia, a lista de preenchimento automático deve conter todos os módulos carregáveisfonte
Há
lsmod
comando dokmod
pacote no Arch Linux que lista e mostra o status dos módulos do kernel Linux que contém outros comandos úteis, comomodinfo
,rmmod
modprobe
também.Para l ist todos os binários fornecidos pelo pacote você pode digitar:
, e você também pode verificar o pacote proprietário de um binário com
pacman -Qo lsmod
.Q
interruptor é q uery pacotes instalados localmente (ao contrárioS
de s ynchronize, ie. verificar remotamente).fonte
lsmod
mostra apenas os módulos já carregados. O autor deste segmento teve o problema de carregar um módulo que não estava no mapa dos módulos carregáveis do kernel. Além disso, esta solução se aplica apenas ao archlinux. O que pode não ser a distribuição do autor e pode não resolver o problema para outros.lsmod
também está disponível no Ubuntu, pelo menos. No entanto, concordo que isso não resolve o problema do OP.Eu prefiro usar
depmod
. Com o comandodepmod -av|grep MOD_NAME
:, seu sistema irá gerar os arquivos modules.dep / map e grep através dele. O-v
parâmetro é importante para detalhamento e-a
para garantir que todos os módulos possíveis/lib/modules/
sejam usados para o arquivo modules.dep.Dessa forma, é possível garantir que um módulo do kernel solicitado seja mapeado para o kernel como carregável. Quando o módulo desejado do kernel não está listado na saída, você sabe que o kernel não o encontrará.
fonte