Yocto 加载内核模块

Yocto load kernel module

我尝试将内核模块添加到 yocto 映像并在启动时加载它。

我创建了一个构建和安装内核模块的方法。以下是部分 Makefile 内容:

modules_install: test_driver.ko
    install -d $(MODULES_DIR)
    install -m 0755 $< $(MODULES_DIR)

在我的 build/conf/local.conf 中,我添加了包(子系统是我的模块配方的名称):

IMAGE_INSTALL_append = " subsystem"

构建映像后,我可以在 MODULES_DIR 目录(/lib/modules/(shell uname -r)/kernel/drivers/test)中找到 .ko 文件。

我现在要做的是在启动时加载这个模块。我发现了一些关于 KERNEL_MODULE_AUTOLOADMACHINE_ESSENTIAL_*/MACHINE_EXTRA_* 的线索。 所以我在 build/conf/local.conf 或我的模块配方中尝试 KERNEL_MODULE_AUTOLOAD += "subsystem" 甚至 KERNEL_MODULE_AUTOLOAD += "test_driver",但我无法在启动时加载驱动程序。

我正在使用 fsl-image-machine-test 图像(sumo 版本)。

KERNEL_MODULE_AUTOLOAD 需要在 local.conf 文件之外。我现在把它放在我的模块食谱中。

它需要加载模块的名称而不是配方,在我的例子中:

KERNEL_MODULE_AUTOLOAD += "test_driver".