Como sei se meu kernel suporta o descarregamento de módulos?

1

Estou usando o Debian Stretch 64-bit com o Gnome 3.22.2. Ao tentar atualizar o driver NVIDIA, recebi a seguinte mensagem:

ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading, and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.

Como sei se meu kernel suporta descarregamento de módulos?

Eu estou experimentando as outras soluções também, mas sem sucesso até agora.

    
por Rodrigo 07.05.2018 / 00:43

1 resposta

2

Não há uma maneira universal de verificar as opções de configuração do kernel.

Se você tiver acesso à configuração do kernel, verifique se ela contém #define CONFIG_MODULE_UNLOAD . As distribuições baseadas no Debian armazenam a configuração do kernel em /boot/config-VERSION , onde VERSION é a saída de uname -r . Algumas distribuições (mas não Debian) armazenam a configuração no próprio kernel, onde você pode recuperá-lo com zcat /proc/config.gz .

Como alternativa, você pode testar o recurso. Carregue algum módulo para hardware que você não possui ou para algum recurso de rede que você não usa e, em seguida, descarregue-o. Por exemplo (assumindo que tunnel6 não está carregado - verifique se /sys/modules/tunnel6 não existe)

insmod /lib/modules/'uname -r'/kernel/net/ipv6/tunnel6.ko
rmmod tunnel6

Kernels para PCs e, mais geralmente, para sistemas em que o hardware pode ser conectado de forma desconectada dinamicamente são sempre compilados com suporte para descarregamento de módulos. Isso inclui os kernels do Debian. Então você pode verificar para ter certeza, mas para você a resposta é sim.

    
por 07.05.2018 / 01:03