yocto项目目录结构解释

目录

总目录

build/目录下的文件组织结构

build/tmp

meta/目录下的文件组织结构


总目录

以下结构为yocto工程的一些通用的结构。实际工程中,各个厂商可能根据自己的需要进行剪裁,但是整体的结构以及每个目录存放的内容大体上是一致的。

  • bitbake 工具目录
    bitbake,是一metedate解释器,读取metedate并执行定义的task。执行bitbake命令时,其实执行的就是bitbake/bin/下面的文件。
  • build 用户配置文件和工程构建输出目录。
    build目录在建立环境变量时进行创建并进行配置文件初始化。构建的所有文件都在该目录下组织存放。
  • documentation 说明文件
  • meta OE Core的Metedata,包括recipes,comon classes等
  • meta-poky poky发行版本的配置数据
  • meta-yocto-bsp
    yocto工程包含的一些参考的BSP配置,通常厂商自己会增加自己的bsp目录。
  • meta-selftest OE自测的recipes和append 文件
  • meta-skeleton BSP和kernel开发用的一些临时recipes
  • scripts 脚本文件,用来提供一些特性的功能。该路径会被添加到环境变量中。
  • oe-init-build-env 构建OE的环境

build/目录下的文件组织结构

注意:build可以指fsl-release-bsp/imx6ulevk-fb

  • build/conf/local.conf
    用户的配置文件,包含所有定制化的配置。该文件配置的所有变量都会覆盖其他文件相应变量的软赋值 (?= 形式)(注意=形式的硬编码无法覆盖)
  • build/conf/bblayers.conf
    该文件用来定义BBLAYERS,BBLAYERS是决定哪些路径下的模块需要构建,哪些不需要构建,并将这些信息提供给BitBake
  • build/conf/sanity_info
    可用性信息,不用关注
  • build/downloads
    构建过程中,下载的所有源码。可以将该目录放到一个公共目录下,提供每次的编译效率
  • build/sstate-cache
    构建构成中的构建状态缓存。可以将该目录放到一个公共目录下,提供每次的编译效率

build/tmp

构建时所有的输出都存放在该目录下

  • build/tmp/buildstats
    构建统计信息,每次构建,都会在该目录下生成一个日期目录
  • build/tmp/cache BitBake解析metedata(包括recipes和config文件)后,将解析的结果缓存在该目录,以提高后续效率
  • build/tmp/deploy 部署文件目录,最终需要的文件(boot rootfs image等)都在该目录中
  • build/tmp/deploy/deb 存放系统产生的所有.deb类型的安装包
  • build/tmp/deploy/rpm 存放系统产生的所有rpm类型的安装包
  • build/tmp/deploy/ipk 存放系统产生的所有ipk类型的安装包
  • build/tmp/deploy/licenses 系统使用的各种软件的许可信息
  • build/tmp/deploy/images 存放boot rootfs image等文件
  • build/tmp/deploy/sdk 工具链安装脚本
  • build/tmp/sstate-control 状态跟踪文件
  • build/tmp/sysroots-components 制作sysroots前需要额外添加的一些组件
  • build/tmp/sysroots 构建出的根文件系统内容
  • build/tmp/stamps 记录BitBake跟踪task执行时间的一些信息
  • build/tmp/log 日志信息
  • build/tmp/work 包含和CPU架构相关的工作目录
  • build/tmp/work-shared 工作信息缓存,为了提高效率

meta/目录下的文件组织结构

  • meta/classes 包含所有的 *.bbclass。class文件是抽象的公共代码,给各个package使用。
  • meta/conf 配置文件(.conf)的核心集合。比如所有的bblayers的配置文件都是从该目录下的bitbake.conf文件中衍生的。
  • meta/conf/machine machine的配置文件
  • meta/conf/distro 发行信息的配置文件
  • meta/conf/machine-sdk 制定sdk是32位还是64位。
  • meta/files/ 包含一些licence文件和系统构建所需要的一些其他文件
  • meta/lib/ 系统构建过程中需要的一些Python库文件
  • meta/recipes-bsp uboot等硬件相关的配置信息
  • meta/recipes-connectivity 包含和其他设备通信相关的库和应用
  • meta/recipes-core 构建基本的linux image所需要的依赖
  • meta/recipes-devtools 主机构建时需要的tools,这些工具在目标板上同样能够使用。
  • meta/recipes-extended 一些不重要的应用
  • meta/recipes-gnome GTK+框架相关的应用
  • meta/recipes-graphics 绘图相关的库
  • meta/recipes-kernel kernel以及内核所依赖的库
  • meta/recipes-lsb4 支持Linux Standard Base (LSB) version 4.x所需要的
  • meta/recipes-multimedia 多媒体支持,图片、声音、视频
  • meta/recipes-rt 支持PREEMPT_RT 所需要的recipes和包
  • meta/recipes-sato/ sato demo
  • meta/recipes-support 其他recipes包含的一些通用的recipes
  • meta/site 不同的架构下的缓存结果存放
  • meta/recipes.txt 说明文件
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值