Jump to content

BitBake

From Wikipedia, the free encyclopedia
BitBake
Original author(s)Holger Schurig
Developer(s)OpenEmbedded
Initial releaseDecember 7, 2004; 20 years ago (2004-12-07)[1]
Stable release
2.0.1[2] / May 23, 2022; 2 years ago (2022-05-23)
Repositorygit.openembedded.org/bitbake/
Written inPython
Operating systemLinux
TypeBuild automation
LicenseGPLv2
Websiteopenembedded.org

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]

References

[edit]
  1. ^ "Re: [yocto] Happy Birthday, Yocto Project". 2013-11-15.
  2. ^ "Tag".
  3. ^ "From Bitbake Hello World To an Image". Hambedded Linux. 2017-04-26.
  4. ^ "It was inspired by the Portage package management system". BitBake User Manual. 2018-05-17.
[edit]