- 前言
Yocto 是一套針對嵌入式的編譯架構. 第三方的開發商可以輕易地針對 yocto 撰寫相關的 meta layer. 使用者僅僅把第三方的meta layer 加入到 yocto, 即可輕鬆編譯出可運行於此開發版的映象檔(image).
由於 yocto的 meta layer 很多, 不同廠商有個自己的 layer 以及依賴的 layer. 鑑於此, 使用json 來配置不同專案置所需的 yocto 環境出來. 以下就針對設定檔的格式進行說明.
- environments.json 說明
- 說明
主要是用 json 紀錄每一個專案所用的 yocto 以及相關的 meta layers 資訊. 再搭配一些對於此專案的補充說明.
- 檔案路徑
build/environment/environments.json
- json格式:
{
"branch": "%s", #所使用的Branch
"platforms": [ #儲存專案的yocto 配置
{
"name": "%s", #存放的目錄名稱
"menu": "%s", #所顯示項目的名稱
"description": "%s", #針對項目(menu)的額外描述
"machine_list": ["%s", … ] #此專案底下可選擇的 machines
"distro_list": [ "%s", … ] #此專案底下可選擇的 distros
"howto": "%s" #此專案的提示字串. 譬如:可用的recipe指令
"yocto_src": #Yocto source的配置
{
"url": "%s", #Source code 的 url 位址
"branch": "%s",
"name": "%s",
},
"meta_sc": [ #描述yocto所額外使用的meta-layers. 請依照相依關係, 由上至下依序填寫
"url": "%s",
"branch": "%s",
"name": "%s",
"meta_path": ["%s", "%s", …] #meta layer 的路徑. 預設應與 name 相同.
]
}
]
}
- json 欄位:
名稱 |
型態 |
數值 |
描述 |
branch |
string |
|
所使用的Branch |
platforms |
Object array |
|
儲存專案的yocto 配置 |
name |
string |
|
存放的目錄名稱 |
menu |
string |
|
所顯示項目的名稱 |
description |
string |
|
針對項目(menu)的額外描述 |
machine_list |
String array |
|
此專案底下可選擇的 machines |
distro_list |
String array |
|
此專案底下可選擇的 distros |
howto |
string |
|
此專案的提示字串. 譬如:可用的recipe指令 |
yocto_src |
object |
|
Yocto source的配置 |
url |
string |
|
Source code 的 url 位址 |
meta_path |
String array |
|
meta layer 的路徑. 預設應與 name 相同. e.g. 本身就是layer => "meta-rockchip" 子目錄為layer => "meta-openembedded/meta-oe" |
meta_src |
Object array |
|
描述yocto所額外使用的meta-layers. 請依照相依關係, 由上至下依序填寫 |
- json範例
底下針對 iei-ubuntu專案的 yocto配置.
{
"branch":"master",
"platforms":[
{
"name": "xxx-ubuntu",
"menu": "XXA / XXB / XXC ",
"description":"Image With Custom Ubuntu",
"yocto_src":{
"url":"http://10.10.2.111/xxxxxx/poky.git",
"branch":"rocko",
"name":"poky"
},
"meta_src":[
{
"url":"http://10.10.2.111/xxxxxx/meta-bbb.git",
"branch":"rocko",
"name":"meta-rockchip",
"meta_path":[
"meta-rockchip"
]
},
{
"url":"http://10.10.2.111/xxxxxx/meta-xxx.git",
"branch":"rocko",
"name":"meta-xxx",
"meta_path":[
"meta-xxx/meta-xxx-ubuntu"
]
}
],
"machine_list":["exA", "exB"],
"distro_list":[],
"howto":"Image Recipes:\n\tbitbake xxx-custom-ubuntu-image"
}
}
留言列表