• Yocto之目录结构说明


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

    顶层文件结构

    bitbake          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          说明文件

  • 相关阅读:
    POJ 3614 Sunscreen
    POJ 2431 Expedition
    如何解决inline-block元素的空白间距 css 完美解决
    li的inline-block出现间隙原因,解决方案
    基线baseline
    CSS IE Hack
    css实现页面文字不换行、自动换行、强制换行
    IE 常见bug
    IE haslayout 问题引起的常见 bug
    CSS Cross-Browser Inline-Block
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/13468074.html
Copyright © 2020-2023  润新知