Хотя я могу использовать lsmod
, чтобы показать активные в данный момент модули ядра, как я могу увидеть, какие драйверы статически встроены в ядро И в настоящее время активны?
Хотя я могу использовать lsmod
, чтобы показать активные в данный момент модули ядра, как я могу увидеть, какие драйверы статически встроены в ядро И в настоящее время активны?
Ответы:
Вы могли бы сделать cat /lib/modules/$(uname -r)/modules.builtin
Из документа ядра
В этом файле перечислены все модули, встроенные в ядро. Это используется modprobe, чтобы не дать сбой при попытке загрузить что-то встроенное.
uname -r
а не чащеuname -a
Если у вашего Linux есть /proc/config.gz
Это имеет все встроенные модули. Скопируйте его в другое место и разархивируйте. Откройте файл, все с «= M» построен как модуль. Все с "= Y" статически построено.
hwinfo выведет список «Driver:», проверьте указанный выше файл, чтобы убедиться, что он статически собран.
К вашему сведению: все статически построенные драйверы всегда загружаются в память и готовы к действию. Без соответствующего оборудования они ничего не будут делать, а будут использовать память.
/proc/config.gz
?
/boot/config-$(uname -r)
.
ls /sys/module
Кажется, содержит все встроенные и внешние модули.
Но он также содержит некоторые записи, которые на самом деле не являются модулями: /unix/225706/are-modules-listed-under-sys-module-all-the-loaded-modules
ТОДО: прочитайте исходный код и более точно поймите, что там написано.
Преимущество этого метода в том, что вы не можете найти конфигурацию ядра в /boot
или /proc/config.gz
.