web-dev-qa-db-fra.com

Comment obtenir une liste de pilotes actifs intégrés de manière statique dans le noyau Linux?

Bien que je puisse utiliser lsmod pour afficher les modules de noyau actuellement actifs, comment puis-je savoir quels pilotes sont construits de manière statique dans le noyau ET sont actuellement actifs?

28
JohnnyFromBF

Vous pouvez faire un cat /lib/modules/$(uname -r)/modules.builtin

Depuis le noyau Documentaton

modules.builtin

Ce fichier répertorie tous les modules intégrés au noyau. Ceci est utilisé par modprobe pour ne pas échouer en essayant de charger quelque chose intégré.

28
sager89

Si votre linux a /proc/config.gz

Cela a tous les modules construits. Copiez-le ailleurs et décompressez-le. Ouvrez le fichier, tout avec un "= M" est construit comme un module. Tout ce qui a un "= Y" est construit de manière statique.

hwinfo listera le "Pilote:" vérifiez le fichier ci-dessus pour voir s'il est construit de manière statique.

FYI: Tous les pilotes construits de manière statique sont toujours chargés en mémoire et prêts à être utilisés. Sans le matériel correspondant, ils ne feront rien, mais utiliseront de la mémoire.

7
cybernard
ls /sys/module

semble contenir tous les modules intégrés et externes.

Mais il semble également contenir des entrées qui ne sont pas réellement des modules: https://unix.stackexchange.com/questions/225706/are-modules-listed-under-sys-module-all -the-Loaded-Modules

TODO: lisez la source et comprenez plus précisément ce qui y est mis.

L'avantage de cette méthode est que vous ne pouvez pas rechercher la configuration du noyau sous /boot ou /proc/config.gz.