Как может сбой insmod с модуля ядра уже загружен, даже lsmod не содержит этот модуль?

Я делаю минимальный дистрибутив Linux с buildroot для изучения разработки модуля ядра.

Если я назову минимальный модуль hello.ko (или почти любое другое имя, которое я пробовал), все работает нормально.

Однако, если я использую тот же самый код, но вызываю модуль workqueue.ko , insmod workqueue.ko не работает, dmesg содержит:

 workqueue: module is already loaded 

и вывод insmod в stderr:

 insmod: can't insert 'workqueue.ko': invalid argument 

Оба lsmod и cat /proc/modules являются пустыми.

Это точная репо, которая вызвала проблему.

Для справки код модуля:

 #include <linux/module.h> #include <linux/kernel.h> MODULE_LICENSE("GPL"); int init_module(void) { printk(KERN_INFO "hello init\n"); return 0; } void cleanup_module(void) { printk(KERN_INFO "hello cleanup\n"); } 

и версия ядра (по умолчанию подразумевается buildroot) равна 4.9.

  • Как узнать, какая версия драйвера включена в ядро?
  • Как драйвер wifi подвергается воздействию пользовательского пространства?
  • linux 3.17 поддерживает hotplug thunderbolt непривязанных устройств молнии - что это?
  • загружать программу / модуль при загрузке
  • Загрузка нового драйвера wlan
  • Нужны ли мне модули pata_atiixp или ata_generic ядра в системе SATA?
  • aircrack-ng показывает отрицательный канал
  • Как перечислить все загружаемые модули ядра?
  • One Solution collect form web for “Как может сбой insmod с модуля ядра уже загружен, даже lsmod не содержит этот модуль?”

     $ uname -a Linux alan-laptop 4.10.14-200.fc25.x86_64 #1 SMP Wed May 3 22:52:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ ls /sys/module/workqueue/ parameters uevent $ ls /sys/module/workqueue/parameters/ debug_force_rr_cpu disable_numa power_efficient 

    Это уже встроенный. Возможно, предоставить пространство имен для параметров, которые влияют на поведение рабочей среды ядра.

    Linux и Unix - лучшая ОС в мире.