Como posso ter certeza de que um driver Wi-Fi (instalado como objeto de kernel) ainda é executado após uma atualização do kernel?

1

Eu instalei um driver como * .ko (construí-lo a partir do código-fonte) e o coloquei em /etc/modules

Após a reinicialização, o driver não conseguiu carregar e notei que estou realmente executando um novo kernel (provavelmente alterado durante a última atualização do centro de software).

De alguma forma eu tenho a sensação de que existe uma maneira de fazer o driver ser instalado toda vez que o kernel é atualizado sem que eu faça isso manualmente.

Então, como faço isso?

    
por ordahan 12.12.2013 / 20:06

1 resposta

1

Se você tiver a fonte para o driver (algo que você não declara explicitamente no seu post), então você precisará recompilá-lo. Existe um aplicativo que pode cuidar disso para você, chamado dkms para Dynamic Kernel Module Support .

Basicamente, o que você precisa fazer é criar um arquivo dkms.conf no diretório criado pelo un'tarring do pacote e, em seguida, colocar essas linhas no arquivo dkms.conf :

  PACKAGE_NAME=r8168
  PACKAGE_VERSION=8.032.00
  MAKE[0]="'make'"
  BUILT_MODULE_NAME[0]=r8168
  BUILT_MODULE_LOCATION[0]="./"
  DEST_MODULE_LOCATION[0]="/kernel/updates/dkms"
  AUTOINSTALL="YES"

Os diretórios são identificados por seus caminhos relativos; a origem desse caminho relativo é o diretório no qual o arquivo dkms.conf está localizado. Lembre-se de verificar se os comandos make estão corretos, você terá que verificá-los em relação ao arquivo README.txt usual incluído em cada pacote.

Agora, sempre deste diretório, copiamos tudo para o diretório de destino:

  sudo cp -R . /usr/src/r8168-8.032.00/

Por último, você diz a dkms para fazer o seguinte:

  dkms add -m r8168 -v 8.032.00
  dkms build -m r8168 -v 8.032.00
  dkms install -m r8168 -v 8.032.00

e você está feito.

Editar:

desculpe, eu esqueci que você precisa instalar os cabeçalhos do kernel, e fazer / config / gcc, ... que nas distribuições da família Debian (Debian, Ubuntu, Mint ... aptosid ...) pode ser baixado de:

   sudo apt-get install linux-headers-generic build-essential

Outras distros têm comandos equivalentes.

    
por 12.12.2013 / 20:26