我尝试将内核模块添加到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_*
。因此,我尝试KERNEL_MODULE_AUTOLOAD += "subsystem"
甚至KERNEL_MODULE_AUTOLOAD += "test_driver"
在build/conf/local.conf
模块配方中或其中,但无法在启动时加载驱动程序。
我正在处理fsl-image-machine-test图像(相扑版)。
KERNEL_MODULE_AUTOLOAD必须在local.conf文件之外。我现在将其放在模块配方中。
在我的情况下,它需要加载模块的名称而不是配方:
KERNEL_MODULE_AUTOLOAD += "test_driver"
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句