Я просто просмотрел .config человечности в/usr/src/linux-headers-5.3.0-46-generic/.config. Существует CONFIG_KVM=m. Но когда я использую lsmod, kvm модуль находится в выводе. CONFIG_XX=m означает, что модуль не компилируется в ядро. Можно использовать "modprobe xxx.ko" для загрузки модуля. шоу lsmod, какие загружаемые модули ядра в настоящее время загружаются.
Но мой CONFIG_KVM=m и я не используем modprobe. Почему KVM в выводе lsmod?Спасибо
Как описывают здесь kvm, автоматически загружается на начальной загрузке на CPU, которые поддерживают аппаратную виртуализацию.
Если Вам не нужна виртуализация, можно отключить VT-d/AMD-V в BIOS для предотвращения модуля kvm для загрузки на начальной загрузке
Обновление:
Сборка как модуль позволяет Вам иметь более быструю начальную загрузку путем загрузки только определенных функций onboot. Это не гарантирует Вам, что модуль не будет загружен. Если ресурсу нужен этот модуль, он мог бы быть загружен непосредственно двоичным файлом как iptables
делает.
Пример:
nf_conntrack
iptables модули, который позволяет Вам отслеживать соединения через брандмауэр CONFIG_NF_CONNTRACK=m
. Этот модуль не будет загружен, если Вы не добавите использование правила -m conntrack
.
Другой пример:
Мой компьютер имеет плату Ethernet с помощью драйвера e1000
.
grep CONFIG_E1000 /boot/config-4.15.0-91-generic
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_E1000E_HWTS=y
Это показывает мне e1000
драйвер создается как модуль.
Используя modinfo e1000 | alias
будет давать все псевдонимы, которые загрузят модуль ядра автоматически
alias: pci:v00008086d00002E6Esv*sd*bc*sc*i*
alias: pci:v00008086d000010B5sv*sd*bc*sc*i*
alias: pci:v00008086d00001099sv*sd*bc*sc*i*
alias: pci:v00008086d0000108Asv*sd*bc*sc*i*
...
Так как моей платой Ethernet является Intel (VendorID 8086), это соответствует к псевдониму, таким образом, модуль загружается как показано в dmesg
[ 1.520584] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
Все модули Вы видите в lsmod
после новой начальной загрузки использовались во время процесса начальной загрузки.