Device Drivers - Instalação

O módulo do kernel gerado na etapa de desenvolvimento precisa ser carregado na memória do kernel para, então, ser utilizado pelo kernel.
Nesta etapa, além de transferir o código do módulo para o espaço de memória do kernel, ocorre a linkagem da tabela de símbolos do módulo com os símbolos presentes no kernel, aqueles que não conseguiram ser encontrados são chamados de unresolved symbols e, precisam ser resolvidos - através do carregamento de algum outro módulo - ou a instalação falhará.

O carregamento do device-driver segue a mesma receita utilizada para carregar qualquer outro módulo de kernel - baseada nos comandos insmod e modprobe.

O comando insmod instala(carrega) o módulo na memória do kernel entretanto, ele falha caso os símbolos utilizados pelo módulo não estejam presentes na tabela de símbolos do kernel.
Para contornar o problema do comando insmod, pode-se utilizar o comando modprobe que, ao encontrar símbolos não-resolvidos que não foram encontrados na tabela de símbolos do kernel, procura por outros módulos que o possuam e os carrega também. Este comando também pode ser utilizado para remover módulos do kernel.
Além desses comandos, podemos citar outros dois comandos úteis quando se trata de módulos: lsmod e modinfo, o primeiro lista os módulos carregados e informações acerca de cada um, enquanto que, o segundo, obtém a documentação específica de um módulo.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License