Os controladores de cargas de dispositivos Linux kernel e é o núcleo do sistema operacional em todas as versões do Linux. Os drivers de dispositivo são carregados automaticamente para o hardware suportado na maioria apt e distribuições baseadas em RPM. Se o seu hardware não é carregado automaticamente e o fabricante fornece um driver de dispositivo, você pode instalá-lo manualmente. módulos compilados pode ser carregado e adicionou-se a configuração do núcleo imediatamente. O código-fonte deve primeiro ser compilados usando os cabeçalhos do kernel ou código fonte completo.
Compilando um módulo
Faça o download do código-fonte para o módulo do kernel.
Digite o seguinte comando em uma janela de terminal para instalar os cabeçalhos do kernel:
RPM distribuições baseadas: su -c `yum install kernel-devel`
distribuições baseadas APT: sudo apt-get install linux-headers - $ (uname -r)
Use o comando correto para sua versão do Linux. Certifique-se de digitar os comandos exatamente como mostrado, incluindo aspas simples.
Digite o seguinte comando para alterar para o diretório do código-fonte:
cd / home / myuser / modulecode
Alterar "/ Home / myuser / modulecode" para a localização do módulo de código fonte.
Digite o seguinte comando para criar um "makefile:"
vi Makefile
Isso abre o editor de texto vi e cria o makefile. o "faço" comando usa o makefile para compilar o módulo.
Digite os seguintes seis linhas de código no editor de texto:
obj-m = mymodule.o
KVERSION = $ (shell uname -r)
todos:
make -C / lib / modules / / construir M = $ (PCD) módulos $ (KVERSION)
limpar:
make -C / lib / modules / $ (KVERSION) / construir M = $ (PCD) limpa
Substituir "mymodule" com o nome do módulo que você está compilando. Salve o vi arquivo e saia.
Digite o seguinte comando para compilar o módulo:
faço
Digite os seguintes comandos para carregar e descarregar o módulo:
Carga: su -c `mymodule.ko insmod`
Descarregar: su -c `mymodule rmmod`
Substituir "mymodule" com o nome do módulo que está sendo carregado ou descarregado.
Carregando módulos automaticamente na inicialização
Digite o seguinte comando em uma janela de terminal:
su -c `mkdir -p / lib / modules / $ (uname -r) / kernel / drivers / mymodule`
Substituir "mymodule" com o nome do módulo. Este comando cria um diretório para armazenar o módulo.
Digite o seguinte comando para copiar o módulo para o novo diretório:
su -c `cp /modulepath/mymodule.ko / lib / modules / $ (uname -r) / kernel / drivers / mymodule /`
Substituir "ModulePath" e "mymodule" com o caminho correto e nome do módulo.
Digite o seguinte comando:
su -c `vi / etc / modules`
Este comando abre o arquivo de configuração do módulo de todo o sistema para edição.
Adicione o seguinte ao final do arquivo:
mymodule
Substituir "mymodule" com o nome do módulo. Feche e salve o arquivo. As alterações entrarão em vigor na próxima vez que o sistema for reiniciado. Já não será necessário carregar manualmente e descarregar o módulo.