我写了一个hello world设备驱动程序配方,当我尝试在根文件系统中安装它时,在qemux86-64.conf中使用以下变量
MACHINE_EXTRA_RDEPENDS = += " kernel-module-hello"
上一行未插入根文件系统的模块中,但下一行
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += " kernel-module-hello"
谁能告诉我这两个变量之间的区别是什么。什么时候应该使用哪一个?
MACHINE_EXTRA_RDEPENDS:要安装在正在生成的映像中的机器特定软件包的列表,这些软件包对于机器启动不是必需的。通常用于添加功能。并且,如手册所述:
此变量会影响所有基于packagegroup-base的图像,其中不包括core-image-minimal或core-image-full-cmdline图像。
MACHINE_ESSENTIAL_EXTRA_RDEPENDS:要安装的特定于机器的软件包列表,这些软件包对于引导机器至关重要。并且,如手册所述:
此变量的影响会影响基于packagegroup-core-boot的映像,包括core-image-minimal映像。
您的映像很有可能不是基于packagegroup-base,而是基于packagegroup-core-boot。此外,我想指出的是,内核模块通常包含在MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS或MACHINE_EXTRA_RRECOMMENDS而不是MACHINE_ESSENTIAL_EXTRA_RDEPENDS或中(这似乎是您的情况)MACHINE_EXTRA_RDEPENDS。
有关更多信息,请参阅https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-MACHINE_ESSENTIAL_EXTRA_RDEPENDS
PD:使用+ =运算符附加变量时,不需要空格分隔符。另外,您在这里有错别字:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。