Yocto Projectとは?
Yocto Projectとは?

Yocto Projectとは?

Yocto Projectが他の組み込みLinuxディストリビューションとどのように異なるのか、またOpenEmbedded、Linux Foundation、Pokyなどとの関連性についてご紹介します。

Yocto Projectとは?

Yocto Projectは、組み込み分野およびインテリジェントエッジ環境向けのオープンソースプロジェクトです。他のLinuxディストリビューションは、エンタープライズ向けサーバーやワークステーション向けに構築され、その後(場合によっては)組み込み/エッジ用途に合わせて調整されるのに対し、Yocto Projectでは、こうしたデバイス向けにカスタマイズされたディストリビューションを構築することが可能です。多種多様な要件が存在する様々な垂直市場において、本プロジェクトは、ハードウェアの基盤となるアーキテクチャに依存することなく、組み込み開発のための共通基盤を確立することを目指しています。

2010年の立ち上げ以来、Yocto Projectは、Linux Foundation傘下の共同オープンソースプロジェクトの中でも最大規模のコミュニティの一つへと発展してきました。業界のトップ企業を集め、オープンソースのベストプラクティスを適用し、提供するツールを通じて、組み込みOS開発および製品ライフサイクルの特性を定義しています。 モノのインターネット(IoT)やインテリジェントエッジの導入が拡大する中、Yocto Projectは、多様なハードウェアプラットフォームや制約の多い環境に合わせてカスタマイズされた、軽量かつセキュアなLinuxディストリビューションを構築するための定番フレームワークとなりました。

Yocto Projectは、開発者が幅広いハードウェアアーキテクチャ上で、組み込みLinuxディストリビューションをゼロから構築できるようにする一連のツールとプロセスのセットです。

Yocto Projectの主なメリット

  • カスタムディストリビューションを構築するための、最高水準のインフラストラクチャ、レシピ、ツールを統合
  • 作業の重複を削減
  • 商用パートナーシップとオープンソースコミュニティ間の連携と再利用を促進します
  • OpenEmbedded や Eclipse といった他のオープンソースプロジェクトの利点を活用

Yocto Project の概要

  • 2010年、Yocto Project は Linux Foundation の傘下にある新しいワークグループとして発表されました。Wind River® は、22社の創設企業の1つでした。
  • 2025年、30社以上の加盟企業と4000人以上の貢献者を擁するYocto Projectは、Linux FoundationのLFX Insightsによると、このイニシアチブによって生み出されたソフトウェアの価値は3,000万米ドル以上に達すると推定しています。
  • Yocto Projectは、世界最大かつ最も影響力のあるオープンソース・イニシアチブの一つであり、親しみやすく協力的で、コミュニティ主導の取り組みとして認知されています。

Yocto ProjectのPokyとOpenEmbeddedの違い

PokyはYocto Projectのツールを使用して構築されたリファレンスOSディストリビューションであり、OpenEmbeddedはレシピやパッケージからなるビルドフレームワークです。OpenEmbeddedは、クロスコンパイルインフラストラクチャにより、多くのハードウェアアーキテクチャをサポートしています。コミュニティでは、Yocto Projectの機能や動作を検証するためにこれを使用していますが、独自のカスタムディストリビューションを構築するユーザーにとっても、参考となる例となっています。

Yocto Project の参加企業

このプロジェクトは当初、半導体ベンダー、組み込みソフトウェアプロバイダー、オープンソースコミュニティ、商用Linux OSベンダーなど、組み込み分野に携わるさまざまな企業やイニシアチブによって立ち上げられました。現在、Yocto Projectには30社以上の加盟企業があり、より多様な市場に対応し、新しいタイプのインテリジェントエッジのユースケースを実現しています。加盟企業には、AWS、Arm、Intel、Qualcomm、Microsoft、Wind Riverなどが名を連ねています。

組み込みLinuxディストリビューションの違い

Yocto Project 対 Ubuntu Core

Yocto Projectはディストリビューションそのものではなく、ディストリビューションを開発するための一連のツールです。一方、Ubuntu Coreはバイナリ形式で提供されるLinuxディストリビューションです。

Yocto Project 対 Buildroot

Buildrootは軽量かつシンプルで、迅速に結果を得ることができます。一方、Yocto Projectはイメージのビルドに時間がかかり、より多くのディスク容量を必要とします。その一方で、そのレイヤーはメンテナンスが容易であり、複雑なビルドシステムであるため、カスタマイズのための選択肢が豊富で、設定をよりきめ細かく制御することができます。

Yocto Project 対 Debian

ソースコードとバイナリの両方で提供されるDebianは、サーバーやワークステーション向けのエンタープライズ分野で生まれました。一方、Yocto Projectは、リソースに制約のあるアーキテクチャ向けに構築された組み込みデバイスや、規制の厳しい市場における長期運用といった特定の要件に対応するために特別に開発されました。

Wind Riverのアプローチ

Wind River Linux LTS

Wind Riverは、業界最先端の組み込みLinux開発プラットフォームを提供しています。当社の包括的な製品、ツール、ライフサイクルサービスのスイートは、航空宇宙・防衛、産業、医療、自動車、通信などの分野において、お客様がインテリジェントなエッジデバイスを構築・サポートすることを支援します。

Wind River Linux LTS を利用することで、お客様は、自社開発(RYO)に伴うリスクや開発負担を伴わずに、堅牢で信頼性が高く、安全な Linux ベースのエッジデバイスやシステムを構築・導入できます。コードベースを最新の状態に保ち、不具合を追跡・修正し、セキュリティパッチを適用し、厳格な市場仕様や認証基準に準拠するようランタイムをカスタマイズすることが可能です。また、Wind River はお客様の知的財産(IP)および輸出コンプライアンスの遵守を支援し、コストを大幅に削減します。

Wind Riverは40年にわたり組み込みソフトウェア業界の世界的リーダーであり、20年以上にわたりオープンソースへの積極的な貢献者および熱心な推進者として活動してきました。また、ユースケースに最適化されたデバイスやシステムの構築・導入において、顧客を支援してきた確かな実績を有しています。

Wind River Linuxは、世界中で導入されている数百万台のデバイス上で稼働しており、Wind River Linuxの製品およびサービススイートは、プロトタイプ作成、開発、そして実際の導入に至るまで、高い信頼性と柔軟性を提供します。

>> 詳細はこちら
Wind River Linuxの開発プラクティス
  • Wind Riverは、ソフトウェアの構築、テスト、リリースにおいて、継続的インテグレーションおよびDevOpsに関する業界のベストプラクティスを採用しています。
  • Wind Riverは、コンプライアンスの認証取得に最新のOpenChain標準およびガイドラインを採用しています。OpenChainは、サプライチェーンにおけるオープンソース・コンプライアンスの基準を定義する重要なイニシアチブです。これは、監査が行われた際にサプライチェーンの完全性を証明できるという点で重要です。Wind River Linux LTSサブスクリプションは、Linuxベースの製品導入におけるコンプライアンスを確保するための「保険」としての役割を果たします。
  • Wind Riverは、ISO 9001認証を取得した開発およびリリースプロセスを備えた、Linuxベースの商用製品としては初のものです。
品質、コンプライアンス、および認証

Wind Riverは、設計チームがセキュリティ、安全性、および認証に関する市場固有の要件を定義・構築するのを支援します。Wind River Linuxは、ISO 9001:2015の認証を取得し、品質について定期的に監査を受けている厳格なエンジニアリングプロセスに従っています。

Wind River Linux サービス

Wind Riverは、お客様がどのLinuxを選択された場合でも、市場で差別化されたLinuxソリューションの導入スピードと品質を向上させるための、包括的なサポートおよび統合サービススイートを提供しています。LinuxをYocto Project、ボードベンダー、あるいはその他の商用ベンダーから調達された場合でも、Wind Riverは、あらゆる市場における20年以上にわたる組み込み、リアルタイム、およびLinuxに関する深い専門知識を有しています。

Linuxサービスには以下が含まれます:

  • プラットフォームアーキテクチャの評価、ソフトウェア設計、および実装
  • セキュリティ脆弱性に関するアラート、分析、および対策
  • Linuxプラットフォームの長期的なセキュリティおよび不具合のメンテナンスとサポート
  • 性能および信頼性要件
  • 開発をさらに加速させるために迅速にカスタマイズ可能な、業界固有の最新機能および標準
  • IPコンプライアンス監査および是正措置の提言

Wind River を利用すれば、組織は希望するあらゆる形で関与することができ、製品開発ライフサイクルのあらゆる段階でガイダンスや支援を受けることができます。

>> 詳細はこちら

セキュリティ

Wind Riverは、多角的なアプローチでセキュリティ対策に取り組んでいます:

  • CVEの監視、評価通知、および是正措置
  • 統合されたセキュア開発ライフサイクル(SDL)の原則
  • 当社のディストリビューションへの多数の一般的なセキュリティパッケージの組み込み
  • セキュリティ修正を含む定期的な更新
  • Linuxカーネルの強化や許可リスト方式を含む、OSの強化およびサイバーセキュリティ機能

データソース:Wind River CVE データベース

コミュニティにおけるリーダーシップ

垂直市場向けソリューションの要件を定義する多くのワーキンググループや組織があり、その多くはLinux Foundationの支援を受けています。LF EdgeおよびYocto Projectの創設メンバーであるWind Riverは、これらのワーキンググループに積極的に参加し、貢献しています。また、Wind RiverはLF Energyグループのメンバーでもあり、次世代のデジタル変電所自動化システムの定義を支援するため、同プロジェクトに取り組んでいます。

Yocto Project に関するFAQ

Yocto Projectは、開発者が組み込みデバイス向けのカスタムLinuxベースのシステムを構築できるよう、ツール、テンプレート、および手法を提供するオープンソースの共同プロジェクトです。
Yocto Project を使用するメリットとしては、柔軟性と拡張性の向上、制御性の向上、およびカスタマイズオプションの増加などが挙げられます。
Yocto Projectの主要な構成要素には、Pokyビルドシステム(Yocto Projectのリファレンスディストリビューション)、OpenEmbeddedビルドフレームワーク、およびBitBakeビルドツールがあります。これらの構成要素が連携して、組み込みデバイス向けのカスタムLinuxベースのシステムを構築するための包括的なツールとリソースを提供します。
いいえ、Yocto Projectはオペレーティングシステムではありません。Linuxカーネルと組み込み機器専用のパッケージに基づいてOSを構築するためのプラットフォームと表現する方が適切です。
Buildrootのアプローチは簡素化されています。これにより、より少ない手順で、組み込みデバイス用の起動可能なバイナリイメージを容易に作成できます。一方、Yocto Projectでは、ビルドシステムによるカスタマイズ性がより高いため、設定レベルではより複雑なプロジェクトが可能になります。また、CVEの検出や管理を行うSRToolなどの追加ツールも利用可能です。
Yocto Project では、ユーザーが組み込み用途向けにカスタム Linux ディストリビューションをビルドできます。対照的に、Debian は出発点となるリファレンスディストリビューションを提供し、ユーザーがそれを組み込みソリューションに合わせて調整できるようにしています。
「append」はレシピの変更を指し、「patch」はレシピ内で利用可能なパッケージ化されたコードの内容を変更することを指します。
汎用ディストリビューションを選択し、ソリューションに関係のないパッケージを、プロジェクトの要件に必要な機能を実現しつつ、ハードウェアのリソース制約に適合する最小限の状態になるまで削除していきます。
最適化と簡素化のためにはカスタムLinuxディストリビューションが必要であり、これにより、展開されるソフトウェアがデバイスのハードウェア上の制約を満たしつつ、規制要件にも準拠できるようになります。
起動時間を最適化または最小化するには、ハードウェア固有の機能や「Fast boot」などのソフトウェア調整をはじめ、複数の方法があります。ハードウェアアーキテクチャや、起動時に初期化が必要なデバイスの総数は、全体的な起動時間に影響を与える可能性があります。つまり、周辺機器の選択が起動時間に影響を与えるのです。
ROSはRobot Operating Systemの略称です。これはOSそのものではなく、ロボット用のオペレーティングシステムを構築するためのフレームワークやパッケージのスイートです。一方、Yocto Projectは、ロボットを含む汎用組み込みデバイス向けのツールおよびパッケージレシピのスイートです。ROSは特定のユースケースに焦点を当てているのに対し、Yocto Projectはより汎用的で多用途であると言えます。
Yocto Projectは、特定の用途向けに設計された組み込みソリューション向けに、顧客独自のLinuxディストリビューションを構築するために使用されます。
Yocto Projectは、BitBakeビルドシステム、あらかじめ構築されたレシピ、Pokyリファレンスディストリビューションなどを含む一連のツール群です。
「Yoctoシステム」とは、Yocto Projectのビルドシステム(BitBakeとも呼ばれる)を指します。
Yocto Projectは組み込みデバイスに焦点を当てており、カスタマイズされたディストリビューションのビルドを可能にします。一方、UbuntuはオープンソースのDebianイニシアチブに基づく、サーバーやワークステーション向けのエンタープライズディストリビューションであり、組み込み用途向けに機能を絞り込んだバリエーションとして「Ubuntu Core」があります。
直接割り当てられたリソースや会費を通じてプロジェクトに貢献している30社以上のメンバーに加え、数千社の企業がRYOプロジェクトにYocto Projectを活用しています。
Pokyは、Yocto ProjectのツールおよびOpenEmbeddedのレシピとパッケージを用いて構築されたリファレンスディストリビューションです。コミュニティではYocto Projectの機能や動作を検証するために使用されていますが、独自のカスタムディストリビューションを構築するすべてのユーザーにとっての参考例としても機能しています。
Yocto Projectは、最新のLinuxカーネルやさまざまなハードウェアサポートレイヤーとともに、さまざまなパッケージをレシピとして体系化することで機能します。ユーザーはビルド時にこれらを選択し、カスタムバイナリディストリビューションを作成することができます。
Yocto Projectはディストリビューションビルダーであり、組み込み用途向けのLinuxを構築することを可能にします。これは、あらゆる組み込みLinuxソリューションを実現するための基盤となります。
Yocto Project を使用して作成された組み込み Linux は、ビルド時にオプションでリアルタイム対応の preempt-RT カーネルパッチを適用して構成することができます。
Yocto Project を使用することで、開発者はコンテンツを完全に制御し、最終結果をカスタマイズするための多くのオプションを活用しながら、独自のカスタムディストリビューションをゼロから構築することができます。
いいえ、Yocto Project にはリアルタイム OS を構築する機能はありません。
Yocto Projectは、OpenEmbeddedのパッケージおよびレシピのレイヤーを活用した、独立したツールのセットです。
いいえ。Yocto Projectは、組み込みLinuxディストリビューションを構築するための独立したツールスイートであるのに対し、Debianは汎用的なバイナリディストリビューションです。
PokyはYocto Projectのリファレンスディストリビューションであり、BitBakeはディストリビューションを作成するために使用されるビルドシステムです。