Yocto ProjectはLinux Foundation の共同オープンソースプロジェクトで、ホストハードウェアアーキテクチャに依存せず、カスタマイズをサポートし、再現可能な出力が得られる組み込みおよびIoTソフトウェア用のLinux ディストリビューションの作成を可能にするツールとプロセスを作成することを目的としています。このプロジェクトで管理されているツールセットは一般にyoctoと呼ばれ、相互運用可能なツール、メタデータ、およびプロセスで構成されています。このプロジェクトは 2010 年に Linux Foundation によって発表され、 OpenEmbedded を含む 22 の組織との協力のもと、2011 年 3 月に開始されました。[ 2 ]
YoctoプロジェクトとOpenEmbeddedプロジェクトは、BitBake (ビルドエンジン)とOpenEmbedded-Core(コアメタデータ)のメンテナンスを共有しています。Yoctoは、OpenEmbeddedビルドシステムに加え、階層構造で整理された多数のレシピを含む、Pokyと呼ばれるリファレンスディストリビューションを提供しており、これらをカスタマイズ可能な組み込みオペレーティングシステムのテンプレートとして使用できます。
yoctoはLinuxシステムの構築に加えて、関連するその他の機能も提供します。クロスコンパイル用のツールチェーンや、ハードウェア環境に合わせたソフトウェア開発キット(SDK)を生成できます。deb 、rpm 、ipkなど、さまざまな形式のパッケージ作成をサポートしています。ビルド時には、さまざまなビルド時健全性/回帰テストのオプションが用意されているほか、 QEMU上で特定のイメージを起動してテストし、ビルドを検証するオプションもあります。
このプロジェクトは上流プロジェクトとの連携を奨励しており、OpenEmbedded-CoreやBitBake 、 Linuxカーネルを含む多数の上流プロジェクトに大きく貢献しています。[ 3 ]結果として得られるイメージは、組み込みLinuxが使用されるシステム、つまり単一用途に特化したシステムや、デスクトップLinuxシステムに関連付けられている通常の画面/入力デバイスを持たないシステムで一般的に役立ちます。
このプロジェクトには、CROPS、pseudo、matchboxアプリケーションスイートなど、他にも多くのサブプロジェクトが存在します。このプロジェクトの中心的な目標の一つは、これらのツール間の相互運用性を実現することです。
2018年10月、Arm HoldingsはYocto Projectを通じて組み込みシステム用のコードを共有するためにIntelと提携した。 [ 4 ]
Yocto Projectは、 Linux Foundationの傘下で非営利団体として組織された多くの共同プロジェクトの1つです。[ 5 ]このプロジェクトのガバナンスは、技術部門と管理部門に大まかに分かれていますが、多くのメンバーが両方の部門に参加しています。
技術的なレベルでは、このプロジェクトはプロジェクトアーキテクトのリチャード・パーディ(Linux Foundation フェロー[ 6 ])によって監督されており、彼はプロジェクトの多くのコンポーネントやテクノロジーに長年関わってきた経歴があります。[ 7 ]アーキテクトは、Linux カーネルのメンテナンスと同様に、システムのさまざまなコンポーネントのメンテナンス担当者の階層を維持しています。
管理部門は、プロジェクトのメンバー組織の代表者で構成される諮問委員会から成ります。この委員会には、主要なシリコンベンダー数社、Yoctoをアップストリームとして使用している商用オペレーティングシステムベンダー、企業ユーザー、ソフトウェアコンサルタントやコミュニティメンバーなどのグループの代表者が含まれます。[ 8 ]この委員会のメンバー組織は、プロジェクトにリソースを提供します。また、財務、インフラストラクチャ、アドボカシーとアウトリーチ、コミュニティ管理など、プロジェクトの管理機能を担当する諮問委員会ワーキンググループもいくつかあります。
Yocto Project ブランディング プログラムは、Yocto Project の使用を組織や製品と関連付ける機会を提供します。Yocto を使用する組織は、Yocto Project 参加者としてブランディングされる候補となります。製品 (BSP や OE 互換レイヤーなど) は、Yocto Project 互換としてブランディングされる候補となります。[ 9 ]
メジャーリリースは、約 6 か月ごと (4 月と 10 月) に行われます。[ 10 ]バージョン 3.1 は、最初の長期サポート(LTS) リリースでした。[ 11 ]それ以降、新しい LTS リリースが 2 年ごとに追加されています。3.1 シリーズと 4.0 は、当初 2 年間の予定でしたが、4 年間に延長されました。次の LTS リリースは 4 年間の予定です。[ 12 ]バージョン 3.1 以降、リリースのコードネームは、イングランド北部のカンブリア州の山や峠の名前になっています。
このプロジェクトでは、リリースごとにドキュメントを更新し、最新版とアーカイブ版のすべてのドキュメントをウェブサイトに保持するように努めています。これは、ドキュメントがリリースごとに大幅に変更される可能性があるためです。[ 13 ]
いくつかの企業は、Yocto Projectをベースに商用組み込みLinux製品を開発し、長期サポート、セキュリティメンテナンス、キャリアグレードの機能を追加している。