Como posso recarregar corretamente um módulo do kernel?

8

Pergunta relacionada

Não consigo recarregar um módulo do kernel para tentar novos sinalizadores.
Exemplo: thinkpad_acpi padrão é sem fan_control=1 . Então, se o meu computador funcionar muito bem e os fãs não atingirem a velocidade máxima, às vezes pode ser apenas carregar temporariamente o módulo com fan_control e definir o ventilador por vários minutos para a maior velocidade possível e mudar tudo de volta para afterwords normais.
Isso não é possível porque parece que alguns módulos do kernel dependem de outros e parece que os kernels modernos do Linux estão verificando isso. Então, o que eu fiz até agora:

  • Verificando as dependências
    • modinfo -F depends thinkpad_acpi
  • Tente descarregar esses módulos
    • rmmod ou modprobe -r $dependencies
    • Alguns módulos dependem novamente dos outros, tente descarregá-los também. Não funciona, mesmo que não haja 'dependências' (ou pelo menos modinfo me diz isso)
  • Google muito por modprobe: FATAL: Module x is in use.
  • Lendo tldp
por queryAllThings 04.10.2014 / 16:15

1 resposta

4

Se a força de descarga estiver habilitada no kernel ( zgrep FORCE_UNLOAD /proc/config.gz diz =y ), você pode rmmod -f do módulo do kernel problemático, para forçar o descarregamento.

De acordo com o patch que habilita isso , isso é apenas para desenvolvedores de kernel e pessoas desesperadas.

O melhor é provavelmente descobrir por que o módulo está em uso e por qual processo, mas pelo menos forçar o descarregamento deve tornar possível recarregar o módulo novamente.

    
por 22.10.2015 / 14:53