【发布时间】: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_AUTOLOAD 和MACHINE_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)