BitBake完全不建立工作流程。工作流程和它的配置是被元數據定義的。
元數據分爲兩類:
- 配置文件
- 配方(recipe)
配置文件
由簡單變量賦值的全局性設置。變量全局可訪問。變量可以被覆蓋。配方可以設置和覆蓋變量,但是在配方中所做的賦值只對配方局部有效。
Bitbake有多個不同類型的配置文件。文件的擴展名都是.conf。
- BitBake主配置文件:bitbake.conf
包含所有默認配置設置。BitBake核心層的conf目錄中 - 層配置文件:layer.conf
包含針對 這個層的配方文件的路徑設置和文件樣式(pattern)。每個層的conf目錄中 - 構建環境層配置:bblayers.conf
- 構建環境配置:local.conf
這兩個文件都構建環境的conf目錄中。bblayer.conf包含構建環境的所要用到的層,以及這些層的路徑 。local.conf包含針對當前構建環境的設置 - 發行版配置:<distribution-name>.conf
包含特定發行版的策略的變量設置。該文件一般位於定義發行版的層的conf/distro目錄中。 - 機器配置<machine-name>.conf
包含特定機器的配置。文件路徑在bsp層的conf/machine目錄。
配方
BitBake的配方構成構建系統的核心。它們定義軟件包的工作流,包含用於BitBake構建過程步驟的具體指令。文件是以.bb結尾。
配方包含變量和以可執行元數據形式存在的構建指令。構建指令的實質是執行過程步驟的函數。
支持bbclass類(.bbclass)。支持使用bbappend追加文件(.bbappend)擴展。.bbappend的文件名和被追加的配方文件名同名,而且相對於層的路徑也要相同。