Como obter uma lista de drivers ativos estaticamente incorporados ao kernel do linux?

28

Embora eu possa usar lsmodpara mostrar os módulos do kernel atualmente ativos, como posso ver quais drivers estão estaticamente incorporados ao kernel E atualmente ativos?

JohnnyFromBF
fonte

Respostas:

28

Você poderia fazer um cat /lib/modules/$(uname -r)/modules.builtin

Da documentação do kernel

modules.builtin

Este arquivo lista todos os módulos que estão embutidos no kernel. Isso é usado pelo modprobe para não falhar ao tentar carregar algo embutido.

sager89
fonte
modules.builtin não existe no meu sistema com uname: Linux ecp 4.4.127-1.el6.elrepo.i686 # 1 SMP Sun Apr 8 09:44:43 EDT 2018 i686 i686 i386 GNU / Linux. Existe outra maneira de descobrir em que drivers estão embutidos?
Danny
@ Danny Certifique-se de usar uname -re não o mais comumuname -a
Nairou
7

Se o seu Linux tiver um /proc/config.gz

Que possui todos os módulos construídos. Copie-o em outro lugar e descompacte-o. Abra o arquivo, tudo com um "= M" é construído como um módulo. Tudo com um "= Y" é estaticamente construído.

O hwinfo listará o "Driver:" verifique o arquivo acima para ver se ele está estaticamente construído.

FYI: Todos os drivers construídos estaticamente estão sempre carregados na memória e prontos para a ação. Sem o hardware correspondente, eles não farão nada, mas usarão memória.

cybernard
fonte
1
E se não houver /proc/config.gz?
JohnnyFromBF
Ok, acabei de encontrar um arquivo .config no diretório em que compilei o kernel, obviamente foi isso que você quis dizer.
precisa saber é o seguinte
1
Este arquivo também existe aqui: /boot/config-$(uname -r).
precisa saber é o seguinte
1
ls /sys/module

parece conter todos os módulos internos e externos.

Mas também parece conter algumas entradas que na verdade não são módulos: /unix/225706/are-modules-listed-under-sys-module-all-the-loaded-modules

TODO: leia a fonte e entenda com mais precisão o que é colocado lá.

A vantagem deste método é que você não confia em encontrar a configuração do kernel em /bootou /proc/config.gz.

Ciro Santilli adicionou uma nova foto
fonte