BitBake
This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. (March 2018) |
Original author(s) | Holger Schurig |
---|---|
Developer(s) | OpenEmbedded |
Initial release | December 7, 2004[1] |
Stable release | 2.0.1[2]
/ May 23, 2022 |
Repository | git |
Written in | Python |
Operating system | Linux |
Type | Build automation |
License | GPLv2 |
Website | openembedded |
BitBake is a task execution engine build automation tool that allows shell and Python tasks to run in parallel yet in order constrained by configured dependencies.
Engine
[edit]It was originally developed for and is commonly used to build embedded Linux distributions – often using a cross compiler to target a system that differs architecturally from the build host.
BitBake provides capabilities similar to make but via significantly different configuration information. A BitBake recipe specifies how to build a package with information such as where to pull source code from (source URL), dependency constraints, and compile and install options. A source URL commonly specifies a git repo, but other protocols are supported including: http, https, ftp, cvs, svn, and local file system. A recipe also stores metadata for a package in standard variables.[3]
During a build operation, recipes determine build order (constrained by dependencies) and processing tasks to be performed to produce the requested target – recipe or package. A relatively high-level target can produce a complete system software image consisting of boot-time resources, a kernel and a root file system. A build typically includes building the cross-platform build toolchain that generates code for the target platform.
BitBake was inspired by Portage,[4] which is the package management system used by the Gentoo Linux 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 and the OpenEmbedded project.
See also
[edit]- Buildroot – Tool for building Linux
- Openmoko – Discontinued project to create a family of open source mobile phones
- MontaVista – Software company
- List of build automation software
References
[edit]- ^ "Re: [yocto] Happy Birthday, Yocto Project". 2013-11-15.
- ^ "Tag".
- ^ "From Bitbake Hello World To an Image". Hambedded Linux. 2017-04-26.
- ^ "It was inspired by the Portage package management system". BitBake User Manual. 2018-05-17.