Como perder o módulo do kernel na árvore?

6

Eu estou tentando instalar um módulo de kernel em-árvore, mgag200, que parece estar ausente dos repositórios apt do Ubuntu. A configuração do meu kernel mostra que ele não foi configurado para construir

$ grep MGAG200 /boot/config-$(uname -r)
# CONFIG_DRM_MGAG200 is not set

modprobe não está achando

$ modprobe -n mgag200
modprobe: FATAL: Module mgag200 not found in directory /lib/modules/4.8.0-42-generic

Não aparece como incorporado

$ grep mgag200 /lib/modules/$(uname -r)/modules.builtin

A pesquisa por um pacote contendo o arquivo só exibe cabeçalhos

$ apt-file search mgag200
linux-headers-4.8.0-22: /usr/src/linux-headers-4.8.0-22/drivers/gpu/drm/mgag200/Kconfig
linux-headers-4.8.0-22: /usr/src/linux-headers-4.8.0-22/drivers/gpu/drm/mgag200/Makefile
⋮
linux-headers-4.8.0-42: /usr/src/linux-headers-4.8.0-42/drivers/gpu/drm/mgag200/Kconfig
linux-headers-4.8.0-42: /usr/src/linux-headers-4.8.0-42/drivers/gpu/drm/mgag200/Makefile

Eu descomentei todos os repositórios no /etc/apt/sources.list e sincronizei o cache para todas as pesquisas. Estou usando uma versão totalmente atualizada

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety
$ sudo apt dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Módulos como este deveriam estar faltando? Qual é a abordagem regular para obtê-los? Embora eu esteja pensando em construí-lo, se necessário, eu pensei que os módulos de kernel em árvore já estivessem construídos e disponíveis.

    
por Luis Marsano 27.03.2017 / 19:07

1 resposta

4

Os módulos que não estão habilitados em .config não são criados e não estão "disponíveis".

Há uma tonelada de módulos em árvore que não estão habilitados no Ubuntu .config . O objetivo de ter um .config não é compilar cada módulo do kernel. Cada mantenedor de distro escolhe quais módulos incluir.

Você precisa criar um kernel personalizado para obter este módulo ou criá-lo separadamente.

Se você quiser ter um módulo personalizado que sobreviverá às atualizações do kernel, você pode criar um pacote DKMS usando o código-fonte do kernel. Mas algumas ações extras devem ser feitas para que ele seja construído se não estiver ativado em .config .

    
por Pilot6 27.03.2017 / 19:14