一个简单的poky目录如下:
以meta开头的目录都是元数据层
构建时,会在上面图片中多出一个build目录,并在其内进行操作,例如我在工作中用到高通mdm-le-2.0编译apps_proc时的工作目录为:
build目录可以简化为:
一、conf目录
conf目录包含构建环境的配置。
1、local.conf包含编译时的各种环境变量,例如:
也正是这个地方默认了编译的参数,所以用bitbake单编时,需要重新设置一下我们需要的环境变量:
2、bblayers.conf也包含了一些配置参数,用来告知元数据目录:
二、tmp目录
tmp目录是用来输出构建过程中的各种文件的,在我的环境中,这个玩意儿叫做tmp-glibc,他的结构如下图:
这一堆目录只需要明白其中一些的作用即可
1、deploy目录
编译输出的镜像、目标文件等都会在这个目录里
2、log目录
可以找到bitbake的日志,例如下图可以看到上一次我构建的时候的环境变量,总共的任务数量等:
3、sysroots目录
包含根文件系统的架构,交叉工具链等
4、work
实际的编译构建目录
5、work-shared目录
针对共享软件包的目录,跟work类似
三、meta层
上面说到,以meta开头的目录都是元数据层,meta的结构一定是如下所示的:
例如我工作的meta-qti-bsp-prop目录的结构是这样:
本文主要大致讲一下结构,具体各文件的使用和含义在后续讲bitbake执行顺序的时候细说