Bagaimana cara mendapatkan daftar driver aktif yang secara statis dibangun ke dalam kernel linux?

28

Walaupun saya dapat menggunakan lsmoduntuk memperlihatkan modul kernel yang aktif saat ini, bagaimana saya bisa melihat driver mana yang secara statis dibangun ke dalam kernel DAN saat ini aktif?

JohnnyFromBF
sumber

Jawaban:

28

Anda bisa melakukan cat /lib/modules/$(uname -r)/modules.builtin

Dari Documentaton Kernel

modules.builtin

File ini mendaftar semua modul yang dibangun ke dalam kernel. Ini digunakan oleh modprobe agar tidak gagal ketika mencoba memuat sesuatu bawaan.

sager89
sumber
modules.builtin tidak ada di sistem saya dengan uname: Linux ecp 4.4.127-1.el6.elrepo.i686 # 1 SMP Sun 8 Apr 09 09:43:43 EDT 2018 i686 i686 i686 i386 GNU / Linux. Apakah ada cara lain untuk menemukan driver apa yang ada di dalamnya?
Danny
@Danny Pastikan Anda menggunakan uname -rdan bukan yang lebih umumuname -a
Nairou
7

Jika linux Anda memiliki /proc/config.gz

Itu memiliki semua modul yang dibangun. Salin di tempat lain dan unzip. Buka file semuanya dengan "= M" dibangun sebagai modul. Segala sesuatu dengan "= Y" dibuat secara statis.

hwinfo akan mencantumkan "Driver:" periksa file di atas untuk melihat apakah itu dibuat secara statis.

FYI: Semua driver yang dibuat secara statis selalu dimuat ke dalam memori dan siap untuk digunakan. Tanpa perangkat keras yang sesuai mereka tidak akan melakukan apa-apa, tetapi menggunakan memori.

cybernard
sumber
1
Bagaimana jika tidak ada /proc/config.gz?
JohnnyFromBF
Ok saya baru saja menemukan file .config di direktori tempat saya mengompilasi kernel, itu yang Anda maksud.
JohnnyFromBF
1
File ini juga ada di sini: /boot/config-$(uname -r).
JohnnyFromBF
1
ls /sys/module

tampaknya berisi semua modul internal dan eksternal.

Tetapi tampaknya juga mengandung beberapa entri yang sebenarnya bukan modul: /unix/225706/are-modules-listed-under-sys-module-all-the-loaded-modules

TODO: baca sumbernya dan pahami lebih tepatnya apa yang ada di sana.

Keuntungan dari metode ini adalah Anda tidak dapat mengandalkan untuk menemukan konfigurasi kernel di bawah /bootatau /proc/config.gz.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
sumber