如何将内核补丁绑定到不同的配方

问题描述

我有两个类似的板。我想为他们每个人写一个食谱。但是它们会有不同的内核补丁,如何做得更好?还是应该在构建中添加新计算机?

解决方法

相似!=相同。如果它们确实确实有所不同,那么要走两台机器。如果它们足够相似(由您自己决定:)),则也可以选择不同的发行版。一切都取决于机器的差异以及最终图像的差异(可能需要两台机器或两个发行版,或者两者都需要)。

如果您有两台相似的计算机,但需要两个计算机配置文件,请将大多数通用代码放入两台计算机所需的.inc中。不要忘记在该公司文件中放置一个MACHINEOVERRIDES,该名称对两台计算机都有意义(例如,如果您有rpi3-lcd和rpi3-iot,则将rpi3-common.inc带有{ {1}}已添加到rpi3-common)。这样便可以在配方中包含补丁或机器特定内容的配方中使用MACHINEOVERRIDES,而无需VAR_rpi3-commonVAR_rpi3-lcd应用于两者。

,

qschulz,
我将机器添加到mylayer / local.conf

MACHINEOVERRIDES = "imx8qmmek:my-machine"

我用my-patch创建了mylayer / recipex-kernel / linux / linux-imx _%。bbappend:

SRC_URI_imx8qmmek += " file://0001-add-modified-dts.patch "
SRC_URI_imx8qmmek += " file://0002-EP4668-wifi-bt-modified-dts.patch "
SRC_URI_imx8qmmek += " file://0003-EP4822-enable-USB3-hub.patch "
SRC_URI_my-machine += " file://0004-EP4827-comment-usdhc3.tcu.patch "
SRC_URI_imx8qmmek += " file://EP4133_added_BRCM-PCIE.cfg"


do_configure_append_imx8qmmek() {

    bbnote "adding BRCM-PCIE configuration ${PN}"
        cat ../*.cfg >> ${B}/.config

}

然后我运行命令:

MACHINE="my-machine" bitbake -c clean linux-imx

但是一个终端输出了错误: 警告:Layer meta-mylayer应该在其conf / layer.conf文件中设置LAYERSERIES_COMPAT_mylayer,以列出与其兼容的核心层名称。 警告:Layer meta-mylayer应该在其conf / layer.conf文件中设置LAYERSERIES_COMPAT_meta-mylayer,以列出与其兼容的核心层名称。 警告:您已经包含了meta-gnome层,但是DISTRO_FEATURES中尚未启用“ x11”。某些bbappend文件可能不会生效。请参阅meta-gnome自述文件,以获取有关启用meta-gnome支持的详细信息。 警告:主机发行版“ ubuntu-18.04”尚未通过此版本的构建系统进行验证;因此,必须先进行验证。您可能会遇到意外故障。建议您使用经过测试的发行版。 错误:OE核心的配置健全性检查程序检测到潜在的配置错误。 修复导致此错误的原因,或者自行承担禁用检查程序的风险(请参阅sanity.conf)。 以下是潜在问题/建议的列表:

MACHINE=my-machine is invalid. Please set a valid MACHINE in your local.conf,environment or other configuration file.

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...