Bitbake
   HOME

TheInfoList



OR:

BitBake is a make-like build tool with the special focus of
distribution Distribution may refer to: Mathematics * Distribution (mathematics), generalized functions used to formulate solutions of partial differential equations *Probability distribution, the probability of a particular value or value range of a vari ...
s and packages for
embedded Linux Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (eg. set-top box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information applianc ...
cross compilation A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross ...
, although it is not limited to that. It is inspired by
Portage Portage or portaging (Canada: ; ) is the practice of carrying water craft or cargo over land, either around an obstacle in a river, or between two bodies of water. A path where items are regularly carried between bodies of water is also called a ...
, which is the
package management system A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner. A package manager deals w ...
used by the
Gentoo Linux Gentoo Linux (pronounced ) is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for th ...
distribution. BitBake existed for some time in the OpenEmbedded project until it was separated out into a standalone, maintained, distribution-independent tool. BitBake is co-maintained by the
Yocto Project The Yocto Project is a Linux Foundation collaborative open source project whose goal is to produce tools and processes that enable the creation of Linux distributions for embedded and IoT software that are independent of the underlying architectu ...
and the OpenEmbedded project. BitBake recipes specify how a particular package is built. Recipes consist of the source URL

,

, ftp, cvs, svn,
git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data in ...
, local file system) of the package, dependencies and compile or install options. They also store the
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
for the package in standard variables. During the build process, recipes are used to track dependencies, performing native or cross-compilation of the package and package it so that it is suitable for installation on the local or a target device. It is also possible to create complete images consisting of a root
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
and kernel. As a first step in a cross-build setup, the framework will attempt to create a cross-compiler
toolchain In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools for ...
suited for the target platform.


See also

*
Buildroot Buildroot is a set of Makefiles and patches that simplifies and automates the process of building a complete and bootable Linux environment for an embedded system, while using cross-compilation to allow building for multiple target platforms on ...
*
Yocto Project The Yocto Project is a Linux Foundation collaborative open source project whose goal is to produce tools and processes that enable the creation of Linux distributions for embedded and IoT software that are independent of the underlying architectu ...
* OpenEmbedded * Openmoko * MontaVista Software *
List of build automation software Build automation involves Scripting language, scripting or automating the process of Compiler, compiling computer source code into binary code. Below is a list of notable tools associated with automating build processes. Make-based * make (softwa ...


References


External links


BitBake README file

BitBake User Manual
* Embedded Linux Build automation Free software programmed in Python {{Embedded systems