Quando você (ou DKMS) constrói um módulo do kernel e o instala, eles vão para /lib/modules/$(uname -r)/...
, então verifique lá. Um exemplo do meu sistema:
/lib/modules/3.2.0-36-generic-pae/updates/dkms/nvidia_current_updates.ko
Eu instalei um driver DKMS para um dispositivo USB de um PPA. Estou fazendo alterações no código e tentando desinstalar o driver com o apt-get --purge remove, mas quando eu conecto o dispositivo, os módulos do kernel ainda carregam ... por que isso seria? Onde eles estão se escondendo?
Obrigado antecipadamente
Quando você (ou DKMS) constrói um módulo do kernel e o instala, eles vão para /lib/modules/$(uname -r)/...
, então verifique lá. Um exemplo do meu sistema:
/lib/modules/3.2.0-36-generic-pae/updates/dkms/nvidia_current_updates.ko
Instalar e usar os módulos do kernel instalados usando o DKMS envolve várias etapas (principalmente automatizadas):
apt-get
), que começa copiando as origens e as instruções de instalação automática em um diretório padrão ( /usr/src/<module name>-<version>
) /lib/modules/<kernel version>/updates
) modprobe <modname>
em vez de insmod /lib/modules/<kernel version>/updates/<modname>.ko
. modprobe <modname>
) ou um componente do sistema (udev) faz isso quando você conecta seu dispositivo USB. As etapas 1-6 são desfeitas quando a embalagem é purgada. O passo 7 não é desfeito automaticamente. Normalmente, um módulo permanece carregado após o carregamento, a menos que você o remova manualmente com sudo rmmod <modname>
. Use lsmod
para descobrir o nome do seu módulo, geralmente é o mesmo que <modname>
, mas pelo menos para drivers nvidia no Ubuntu, isso é feito de forma diferente (você usaria modprobe nvidia-current
, mas usaria rmmod nvidia
) .