Isso realmente depende de como este módulo foi instalado. O mecanismo do DKMS é criado especificamente para recompilação automática contra o novo kernel instalado.
Módulos de kernel simples são construídos apenas para a versão que foram compilados e continuam funcionando quando as atualizações não quebram o ABI . No entanto, as atualizações do Ubuntu parecem quebrar a ABI com bastante frequência e exigem que os módulos do kernel sejam recompilados. Como esta é uma tarefa muito chata e repetitiva, a DKMS foi inventada para superar isso. Ele insere ganchos no APT para acionar a compilação e instalar a nova versão.
Para visualizar os módulos atuais do kernel instalados usando o DKMS (exemplo):
dkms status
nvidiabl, 0.79, 3.5.0-22-generic, x86_64: installed
nvidiabl, 0.79, 3.7.5-030705-generic, x86_64: installed
nvidia-current, 313.09, 3.5.0-22-generic, x86_64: installed
nvidia-current, 313.09, 3.7.5-030705-generic, x86_64: installed
vboxhost, 4.2.6, 3.5.0-22-generic, x86_64: installed
vboxhost, 4.2.6, 3.7.5-030705-generic, x86_64: installed
Aqui você pode ver que instalei alguns módulos do kernel no DKMS, somente o nvidiabl
one, os outros foram instalados pelo pacote do driver da Nvidia e pelo pacote do Virtualbox.
Os módulos estão localizados (instalados) em um diretório específico para cada versão do kernel:
/lib/modules/
├── 3.5.0-22-generic
│ ├── build -> /usr/src/linux-headers-3.5.0-22-generic
│ ├── initrd
│ ├── kernel
│ │ ├── arch
│ │ ├── crypto
│ │ ├── drivers
│ │ ├── fs
│ │ ├── lib
│ │ ├── net
│ │ ├── sound
│ │ └── ubuntu
│ └── updates
│ └── dkms
└── 3.7.5-030705-generic
├── build -> /usr/src/linux-headers-3.7.5-030705-generic
├── initrd
├── kernel
│ ├── arch
│ ├── crypto
│ ├── drivers
│ ├── fs
│ ├── lib
│ ├── mm
│ ├── net
│ └── sound
└── updates
└── dkms
Para obter um módulo de kernel personalizado sem suporte fornecido para o DKMS, ele precisa de alguma "embalagem" que você mesmo terá que fazer, você terá que recompilar você mesmo toda vez. Em outras palavras, um "típico" ./configure; make; sudo make install
apenas instalará um módulo específico do kernel e exigirá que você o recompile o tempo todo.
Se você não o fizer, o módulo do kernel simplesmente não será encontrado após uma atualização. Ele não irá procurar no diretório antigo e se você forçar para carregá-lo, ele provavelmente não será inserido. Caso a instalação sobrescreva uma padrão do sistema, ela também pode carregar a não personalizada.
Não incluirei o pacote DKMS aqui, pois acho que já respondi sua pergunta.