在 Yocto 项目中,当你发现
“meta-openembedded” 层中的某些 recipe 版本太旧,而你想使用更新版本时,最佳实践是在你自己项目的自定义层 (custom layer) 中使用
“bbappend” 文件进行覆盖或升级。
核心思路: 不要直接修改
“meta-openembedded” 层的 recipe (
“*.bb” 文件)。相反,在你的层中创建一个对应名称的
“.bbappend” 文件,通过这个
“.append” 文件来更改配方行为,包括使用新的源码版本。
以下是详细步骤和处理方法:
- 创建/定位你的自定义层 (Custom Layer):
- 确保你有一个用于存放项目特定修改的自定义层(通常命名为
“meta-”)。 - 如果还没有,使用
“bitbake-layers create-layer” 命令创建一个。 - 使用
“bitbake-layers add-layer /path/to/your-layer” 将这个层添加到
“bblayers.conf” 中。
- 确保你有一个用于存放项目特定修改的自定义层(通常命名为
- 为新版本的 Recipe 准备
“.bbappend” 文件:- 路径: 在你的自定义层中,创建与原始
“.bb” 文件相同的目录结构,并在该位置创建一个与原始 recipe 同名但后缀为<
- 路径: 在你的自定义层中,创建与原始