1.BitBake 是什么
- BitBake 是一个执行 python 和 shell 脚本的引擎;
- BitBake 是一个python 写的程序(工具),它是一个多任务引擎,可以并行执行shell和python任务,每个任务单元根据预定义的元数据来管理源码、配置、编译、打包,并最终将每个任务生成的文件集合成为系统镜像。
- BitBake 和 GNU Make 对比。
2.BitBake 基本概念
参考WIKI
3.BitBake 工作流程
运行BitBake的主要目的是生成一个东西,例如 安装包、内核、链接库、或者一个完整的Linux系统启动镜像(包括bootloader、kernel、根文件系统)。当然,你也可以通过使用bitbake命令的某些参数,只执行生成过程中的某个步骤,例如编译、获取或清除数据、或者只返回编译环境的信息。
**下面简单说一下使用BitBake生成系统镜像的执行过程。**
首先,BitBake会先搜索当前工作目录下的conf/bblayers.conf文件。该文件包含一个BBLAYERS变量,它会列出所有项目所需的layer的目录。在BBLayers 所列出的layer目录中,都会有一个conf/layer.conf文件,在这个文件中会有一个LAYERDIR 变量,它记录了该 layer 的完整路径。这些 layer.conf 文件会自动构建一些关键的变量,例如 BBPATH 和 BBFILES 。BBPATH 记录了 conf 和 classes 目录下的 configuration 和 classes 文件的位置,BBFILES 则用于定位 .bb 和 .bbappdend 文件。如果找不到 bblayers.conf 文件,BitBake 会认为用户已经在环境变量中设置了 BBPATH 和 BBFILES 。
其次,BitBake 会在 BBPATH 记录的位置中寻找 conf/bitbake.conf 文件。该配置文件包含了
4.BitBake 开发演示
参考wiki
5.总结