Como listar todos os módulos carregáveis do kernel?

52

Estou procurando alguns módulos do kernel para carregar i2c-dev e i2c-bcm2708 . Mas o comando modprobe 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?

    
por UserK 14.02.2015 / 20:21

4 respostas

55
  • Por padrão, modprobe carrega módulos de subdiretórios localizados no diretório /lib/modules/$(uname -r) . Normalmente todos os arquivos têm extensão .ko , então você pode listá-los com

    find /lib/modules/$(uname -r) -type f -name '*.ko'
    

    ou, levando em conta arquivos compactados:

    find /lib/modules/$(uname -r) -type f -name '*.ko*'
    
  • No entanto, para carregar um módulo com êxito modprobe precisa de suas dependências listadas no arquivo /lib/modules/$(uname -r)/modules.dep (e uma versão binária correspondente modules.dep.bin ). Se algum módulo estiver presente no sistema, mas não estiver na lista, você deverá executar o comando depmod , que irá gerar tais dependências e incluir automaticamente seu módulo em modules.dep e modules.dep.bin .

  • Além disso, se o módulo for carregado com sucesso, ele será listado no arquivo /proc/modules (também acessado por meio do comando lsmod ).

por 14.02.2015 / 20:58
8

Digite modprobe e pressione tab, a lista de preenchimento automático deve conter todos os módulos carregáveis

    
por 13.09.2015 / 03:49
2

Existe o comando lsmod do pacote kmod no Arch Linux que lista e mostra o status dos módulos do kernel do Linux que contém outros comandos úteis como modinfo , rmmod modprobe também.

Para l estão todos os binários fornecidos pelo pacote que você pode digitar:

pacman -Ql kmod | grep /bin/ --color=always

, e você também pode verificar o o pacote wner de um binário com pacman -Qo lsmod .

A opção

Q é para q os pacotes instalados localmente (ao contrário de S para s ynchronize, ou seja, para verificar remotamente).

    
por 30.04.2017 / 01:52
1

Eu prefiro usar depmod . Com o comando: depmod -av|grep MOD_NAME , seu sistema irá gerar os arquivos modules.dep / map e passar por ele. O parâmetro -v é importante para verbosidade e -a para garantir que todos os módulos possíveis de /lib/modules/ sejam usados para o arquivo modules.dep.

Desta forma, é possível garantir que um módulo do kernel solicitado seja mapeado para o kernel como carregável. Quando o módulo do kernel desejado não está listado na saída, você sabe que o kernel não o encontrará.

    
por 08.01.2018 / 13:49