Eu tenho um módulo de terceiros para usar um captador de quadros. Fiz o download da fonte do kernel, segui as instruções do fornecedor para compilá-la e tenho o módulo resultante, arvdrv.ko, em uma pasta.
O fornecedor forneceu um script que carrega o módulo no kernel e funciona quando eu o executo; o módulo está carregado, mas apenas até a próxima inicialização. O script não usa modprobe. Eu posso acessar o captador de quadros quando o módulo está instalado.
Parece-me que o modprobe mantém uma lista de muitos módulos. Pode-se editar o / etc / modules para adicionar um nome de módulo e ele será carregado na inicialização, mas o módulo arvdrv não está na lista do modprobe.
Minha pergunta é como informar o modprobe sobre o módulo? Ele precisa ser copiado para um novo local e, em caso afirmativo, para onde?
Respostas:
Usando
sudo
:Edite o
/etc/modules
arquivo e adicione o nome do módulo (sem a.ko
extensão) em sua própria linha. Na inicialização, o kernel tentará carregar todos os módulos nomeados neste arquivo.Copie o módulo para uma pasta adequada em
/lib/modules/`uname -r`/kernel/drivers
. No meu caso, isso foi/lib/modules/`uname -r`/kernel/drivers/pci
. Isso colocará o módulo no banco de dados do modprobe. Não sei se isso pode ser um link.Corra
depmod
. Isso encontrará todas as dependências do seu módulo.Nesse ponto, reinicializei e, em seguida, corro
lsmod | grep module-name
para confirmar que o módulo foi carregado na inicialização.Consulte as páginas de manual para modprobe , lsmod e depmod para obter mais informações.
fonte