CONFIG_KVM=m в моем .config, но почему KVM в выводе lsmod?

Я просто просмотрел .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?Спасибо

0
задан 20 April 2020 в 23:48

1 ответ

Как описывают здесь 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 после новой начальной загрузки использовались во время процесса начальной загрузки.

0
ответ дан 25 April 2020 в 10:43

Другие вопросы по тегам:

Похожие вопросы: