BitBakeは、シェルおよびPythonタスクを並列かつ設定された依存関係によって制約された順序で実行できるタスク実行エンジンビルド自動化ツールです。元々は組み込みLinuxディストリビューションのビルド用に開発され、現在も広く使用されています。多くの場合、ビルドホストとはアーキテクチャが異なるシステムをターゲットとするためにクロスコンパイラが使用されます。
BitBake はmakeと同様の機能を提供しますが、構成情報が大きく異なります。BitBake レシピは、ソースコードの取得元 (ソース URL)、依存関係の制約、コンパイルおよびインストールオプションなどの情報を使用してパッケージをビルドする方法を指定します。ソース URL は通常gitリポジトリを指定しますが、 http、https、ftp、cvs、svn 、ローカルファイルシステムなどの他のプロトコルもサポートされています。レシピには、パッケージのメタデータも標準変数に格納されます。 [ 3 ]
ビルド操作中、レシピは(依存関係によって制約される)ビルド順序と、要求されたターゲット(レシピまたはパッケージ)を生成するために実行される処理タスクを決定します。比較的上位レベルのターゲットでは、ブート時のリソース、カーネル、ルートファイルシステムからなる完全なシステムソフトウェアイメージを生成できます。ビルドには通常、ターゲットプラットフォーム用のコードを生成するクロスプラットフォームビルドツールチェーンの構築が含まれます。
BitBakeは、 Gentoo Linuxディストリビューションで使用されているパッケージ管理システムであるPortage [ 4 ]に触発されて開発されました。BitBakeは、 OpenEmbeddedプロジェクト内でしばらく存在していましたが、その後、独立した、メンテナンスされ、ディストリビューションに依存しないツールとして分離されました。BitBakeは、 YoctoプロジェクトとOpenEmbeddedプロジェクトによって共同でメンテナンスされています。