bitbake-用于嵌入式Linux的类似make的构建工具

介绍

从根本上讲,BitBake是一个通用的任务执行引擎,它使Shell和Python任务可以在复杂的任务间依赖关系约束内有效地并行运行。BitBake的主要用户之一OpenEmbedded以此内核为基础,并使用面向任务的方法构建嵌入式Linux软件堆栈。

从概念上讲,BitBake在某些方面类似于GNU Make,但有很大的区别:

  • BitBake根据提供的构成任务的元数据执行任务。元数据存储在配方(.bb),配置(.conf)和类(.bbclass)文件中,并向BitBake提供有关要运行哪些任务以及这些任务之间的依赖关系的说明。

  • BitBake包含一个提取程序库,用于从各种位置(例如源代码控制系统或网站)获取源代码。

  • 每个要构建的单元的指令(例如,一个软件)被称为配方文件,其中包含有关该单元的所有信息(依赖关系,源文件位置,校验和,描述等)。

  • BitBake包含客户端/服务器抽象,可以从命令行使用,也可以通过XMLRPC用作服务,并且具有多个不同的用户界面。

概念

BitBake是用Python语言编写的程序。在最高级别,BitBake解释元数据,确定要运行的任务并执行这些任务。与GNU Make相似,BitBake控制软件的构建方式。GNU Make通过“ makefiles”实现其控制。BitBake使用“食谱”。

通过允许完成更复杂的任务(例如,组装整个嵌入式Linux发行版),BitBake扩展了GNU Make这样的简单工具的功能。

获取BitBake

您可以通过几种不同的方式获得BitBake:

克隆BitBake:使用Git克隆BitBake源代码存储库是获得BitBake的推荐方法。克隆存储库可轻松获得错误修复,并可以访问稳定分支和master分支。克隆BitBake之后,应该使用最新的稳定分支进行开发,因为master分支用于BitBake开发,并且可能包含不太稳定的更改。

通常,您需要一个与您使用的元数据相匹配的BitBake版本。元数据通常向后兼容但不向前兼容。

这是克隆BitBake存储库的示例:

$ git clone git://git.openembedded.org/bitbake

您也可以通过网盘下载BitBake

例子

下面提供一些示例,展示如何使用BitBake。

针对单个配方执行任务

对单个配方文件执行任务相对简单。您指定有问题的文件,然后BitBake解析该文件并执行指定的任务。如果您未指定任务,则BitBake将执行默认任务“ build”。

以下命令在foo_1.0.bb 配置文件上运行构建任务,这是默认任务:

以下命令在foo.bb配方文件上运行clean任务 :

用法

详细的用法,可以查看官方使用手册:www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html

(0)

相关推荐

  • 分享一些可以快速入门的嵌入式相关教程

    一.前言 大家好,我是ZhengN. 本次来给大家分享一些可以快速入门的教程. 前两天写了一篇:易懂 | 手把手教你编写你的第一个上位机,两天阅读量直接上升到了4000+,这大大刷新了本公众号的单篇文 ...

  • 嵌入式Linux的网络连接管理

    连接管理器(ConnMan)是一个连接管理守护进程 , 用于管理运行 Linux 操作系统中设备的互联网连接. 它以快速.连贯.同步的方式对不断变化的网络条件提供了低内存消耗. ConnMan拥有各种 ...

  • 搞嵌入式Linux,做底层还是应用?底层要掌握哪些技能?

    很多学习嵌入式的新人.工程师,在学习到半途中,总会感觉到迷茫,不知道自己从哪方面入手.进阶,也不知道自己目前处于学习的哪个层次,不清楚往后从哪方面来提升自己. 针对这些工程师常见的情况,今天编者就以一 ...

  • 初学者的嵌入式 Linux 计划!

    俗话说万事开头难,刚开始的时候,你是否根本就不知如何开始,上网查资料被一堆堆新名词搞的找不到北,去图书馆看书也是找不到方向?又是arm,又是linux,又是uboot头都大了,不知道自己究竟从哪里开始 ...

  • 嵌入式linux下ftp服务移植

    https://blog.csdn.net/sunxiangran/article/details/84956197https://blog.51cto.com/linuxzkq/1583348使用f ...

  • SSH 只能用于远程 Linux 主机?那说明你见识太少了!

    来自:DevOps技术栈 今天为大家分享一篇关于SSH 的介绍和使用方法的文章.本文从SSH是什么出发,讲述了SSH的基本用法,之后在远程登录.端口转发等多种场景下进行独立的讲述,希望能对大家有所帮助 ...

  • 从单片机工程师的角度看嵌入式Linux

    前言 这篇文章简单我们来一起梳理嵌入式Linux的一些知识,方便于一些想跟我一样想要由单片机进阶到嵌入式Linux的朋友做一些参考学习. 现在随着嵌入式Linux的教程不断增多,相信应该有不少学单片机 ...

  • 通俗易懂,嵌入式Linux驱动基础

    前言 我们学习编程的时候都会从hello程序开始.同样的,学习Linux驱动我们也从最简单的hello驱动学起. 驱动层和应用层 还记得实习那会儿我第一次接触嵌入式Linux项目的时候,我的导师让我去 ...

  • 我的单片机转嵌入式Linux之路

    大家好,我是ZhengN.其实这是一篇大杂烩文,哈哈~ 好久没来扯谈了,今天是周末,我来简单分享我最近的情况及一些感想.经常看本公号的朋友应该有发现近几个月我写原创笔记的频率低了很多.原因有二:一方面 ...