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的文件名和被追加的配方文件名同名,而且相对于层的路径也要相同。