我尝试将内核模块添加到yocto映像并在启动时加载它。
我创建了一个配方来构建和安装内核模块。以下是生成文件内容的一部分:
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-testimage(相扑版本(。
KERNEL_MODULE_AUTOLOAD需要在 local.conf 文件之外。我现在把它放在我的模块配方中。
它需要加载模块的名称而不是配方,在我的情况下:
KERNEL_MODULE_AUTOLOAD += "test_driver"
.