【问题标题】:Yocto load kernel moduleYocto 加载内核模块
【发布时间】:2020-01-09 00:41:42
【问题描述】:

我尝试将内核模块添加到 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 目录中找到 .ko 文件(即/lib/modules/(shell uname -r)/kernel/drivers/test)。

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

我正在处理 fsl-image-machine-test 图像(相扑版)。

【问题讨论】:

  • 如果我没记错的话,你必须在机器配置文件而不是 local.conf 中设置这些设置。 @see:yoctoproject.org/docs/latest/mega-manual/…
  • @vermaete 确实!通过在我的模块配方中使用它,它现在可以工作了(我还在我的文件中拼错了 KERNEL_MODULE_AUTOLOAD)

标签: module kernel yocto


【解决方案1】:

KERNEL_MODULE_AUTOLOAD 需要位于 local.conf 文件之外。我现在把它放在我的模块配方中。

在我的情况下,它需要加载模块的名称而不是配方:

KERNEL_MODULE_AUTOLOAD += "test_driver".

【讨论】:

    猜你喜欢
    • 2021-10-07
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2021-10-20
    • 2023-04-03
    • 2012-08-20
    相关资源
    最近更新 更多