This articlemay rely excessively on sourcestoo closely associated with the subject, potentially preventing the article from beingverifiable andneutral. Please helpimprove it by replacing them with more appropriatecitations toreliable, independent sources.(March 2018) (Learn how and when to remove this message) |
| BitBake | |
|---|---|
| Original author | Holger Schurig |
| Developer | OpenEmbedded |
| Initial release | December 7, 2004; 21 years ago (2004-12-07)[1] |
| Stable release | |
| Written in | Python |
| Operating system | Linux |
| Type | Build automation |
| License | GPLv2 |
| Website | openembedded |
| Repository | git |
BitBake is atask execution enginebuild automation tool that allowsshell andPython tasks to run inparallel yet in order constrained by configureddependencies. It was originally developed for and is commonly used tobuildembedded Linuxdistributions – often using across compiler to target a system that differsarchitecturally from the build host.
BitBake provides capabilities similar tomake but via significantly different configuration information. A BitBake recipe specifies how to build a package with information such as where to pullsource code from (source URL), dependency constraints, and compile and install options. A source URL commonly specifies agit repo, but other protocols are supported including:http,https,ftp,cvs,svn, and local file system. A recipe also storesmetadata 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 ofboot-time resources, akernel and a rootfile system. A build typically includes building the cross-platform buildtoolchain that generates code for the target platform.
BitBake was inspired byPortage,[4] which is thepackage management system used by theGentoo Linux distribution. BitBake existed for some time in theOpenEmbedded project until it was separated out into a standalone, maintained, distribution-independent tool. BitBake is co-maintained by theYocto Project and theOpenEmbedded project.