2016-03-23 2 views
2

Для целей тестирования я использую пример рецепта, предоставленный yocto, чтобы продемонстрировать, как создавать модули ядра.Yocto: добавление рецепта модуля ядра к изображению, но он не загружается при загрузке

SUMMARY = "Example of how to build an external Linux kernel module" 
LICENSE = "GPLv2" 
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" 

inherit module 

PR = "r0" 
PV = "0.1" 

SRC_URI = "file://Makefile \ 
      file://hello.c \ 
      file://COPYING \ 
      " 

S = "${WORKDIR}" 

# The inherit of module.bbclass will automatically name module packages with 
# "kernel-module-" prefix as required by the oe-core build environment. 

hello.c файл очень простой.

#include <linux/module.h> 

int init_module(void) 
{ 
    printk("Hello World!\n"); 
    return 0; 
} 

void cleanup_module(void) 
{ 
    printk("Goodbye Cruel World!\n"); 
} 

MODULE_LICENSE("GPL"); 

Теперь я добавил этот модуль к своему рецепту изображения.

SUMMARY = "A console-only image that fully supports the target device \ 
hardware." 

IMAGE_FEATURES += "splash package-management" 

IMAGE_INSTALL += "test-mod autoconf automake binutils make busybox" 

LICENSE = "MIT" 

inherit core-image 

При загрузке изображения, я вижу тест «hello.ko» в директории/Lib/модулей, но когда я проверяю dmesg, я не вижу выхода, указывающего модуль ядра загружены.

Когда я вручную запускаю insmod по адресу hello.ko, я получаю вывод. Кроме того, когда я запускаю rmmod, я получаю вывод.

Что я делаю неправильно? Мне нужен этот модуль для автоматической загрузки при загрузке.

редактировать:

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

/ # dmesg | grep "Hello" 
/# insmod hello.ko 
[ 68.503689] Hello World! 
/# rmmod hello.ko 
[ 72.702035] Goodbye Cruel World! 

ответ

4

Вы должны добавить имя модуля KERNEL_MODULE_AUTOLOAD в рецепте, как правило, так:

KERNEL_MODULE_AUTOLOAD += "hello" 

Это должно поставить имя модуля в /etc/modules-load.d/modname.conf на изображение.

 Смежные вопросы

  • Нет связанных вопросов^_^