在 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 同名但后綴為<
- 路徑: 在你的自定義層中,創建與原始