Yocto Projectとは

組込みシステムには、小フットプリント、制約のある環境下での高いパフォーマンス、信頼性、長期間のサポート、制限されたリソースへの対応が求められます。Yocto Projectは、これらのエッジ特有の課題を検討し、組込みLinuxプラットフォームの標準化を目指して生まれたLinux Foundation傘下のオープンソースプロジェクトです。柔軟なツールセットと開発環境を提供しており、世界中の組込み機器開発者がカスタムメイドのLinuxイメージを作成する際に使用する技術、ソフトウェアスタック、構成、ベストプラクティスを共有し、高い相互運用性を達成しています。ハードウェアベンダーやソフトウェアベンダーのエコシステムも統合されていることから、インテリジェントエッジなどの最新テクノロジーに対するサポートや専門知識も入手可能です。Yocto Projectは誰もが無償で利用可能な、標準の組込みLinuxビルドシステムを提供します。


組込みLinux向けのオープンソースプロジェクト

Yocto Projectは、2010年にLinux Foundation傘下のワークグループとして誕生し、10年以上活動を続けています。現在ではLinux Foundation傘下のオープンソースプロジェクトにおける代表的なコミュニティのひとつとなっており、毎年数多くの成功事例が生まれています。


Yocto Projectへ参画している主な企業

ウインドリバーをはじめとする組込み業界のリーダー十数社によって創設されたYocto Projectは現在、AWS、Intel、Meta、Microsoft、ウインドリバーなど30社以上の企業が参画する巨大なコミュニティへと成長しました。コントリビュータは2,500人を超え、2022年現在、170,000回以上のコードコミットが実施されています(11,600,000行以上)。

hypervisor

Yocto Projectへコミットしている上位10団体(The Linux Foundation より)



ウインドリバーによるオープンソースコミュニティへの貢献

ウインドリバーは、Yocto Projectの創設メンバーおよびプラチナメンバーであり、トップコントリビューターとして活動し、Yocto Projectコンポーネントのメンテナンスに絶え間なく貢献しています。

Linux Foundation傘下には他にも様々なワークグループがあり、複数のワークグループが連携してオープンソースのソリューションが誕生します。そしてオープンソースのソリューションごとにその分野に応じた要件が定義されます。ウインドリバーはLinuxディストリビューションの作成フレームワークを提供するYocto Project以外にも、OSに依存しないエッジコンピューティングのフレームワークを定義するLF Edgeの創設メンバーとして、オープンソースの活動へ日々貢献しています。現在、ウインドリバーはLF Energyグループのメンバーとしても活動し、次世代型デジタル変電所オートメーションシステムの要件定義にも参画しています。


Yocto Projectを利用するメリット

Yocto Projectには数多くのメリットがあります。

  • 組込みLinux開発環境における実質的なデファクトスタンダード
  • 簡単に入手できる組込みLinuxディストリビューションの作成のためのビルドシステム
  • スムーズな開発の立ち上げに貢献
  • 最終製品に最適なLinuxディストリビューションを作成可能
  • 段階的なLinuxディストリビューションの開発に対応
  • 一度作成したLinuxディストリビューションの部分的な変更が可能
  • 繰り返し作業のコストを大きく低減
  • 統合されたノウハウ:プロジェクトへ参画している企業の知見、オープンソースコミュニティの開発ノウハウ
  • 他のオープンソースプロジェクトとの連携できる効率的な開発プラットフォーム(OpenEmbeddedやEclipseなど)


Yocto Projectを構成するPokyとOpenEmbeddedとは

Yocto ProjectにはPokyとOpenEmbeddedというオープンソースプロジェクトが統合されています。

Pokyは、ビルドされたLinuxディストリビューションであり、リファレンスデザインとして利用することができます。OpenEmbeddedは、クロスコンパイル環境により、レシピとパッケージを様々なハードウェアアーキテクチャに対応させ、Linuxディストリビューションをビルドすることができるソフトウェアフレームワークです。PokyとOpenEmbeddedを活用することにより、簡単にYocto Projectの機能や特徴を、目的の組込みボード上で検証することができます。さらに、Pokyを自社独自のLinuxディストリビューションを作成する際のテンプレートとして利用することにより、開発をスムーズに立ち上げることが可能です。

hypervisor

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

Yocto Project
vs. Ubuntu Core

Yocto ProjectはLinuxディストリビューションではなく、Linuxディストリビューションを作成するためのフレームワークです。Linuxディストリビューションをカスタマイズすることができます。一方、Ubuntu Coreはバイナリ形式で提供される固定的な組込みLinuxディストリビューションです。

Yocto Project
vs. Buildroot

Buildrootは手軽に使うことのできる小型でシンプルなビルドツールであり、レガシーな組込みシステムに適したコンパクトなルートファイルシステムを作成することができます。一方、Yocto Projectは複雑なビルドシステムを備えることから、Linuxディストリビューションの作成にやや時間がかかり、作成されるルートファイルシステムもBuildrootと比べるとやや大きなサイズとなる傾向にありますが、Yocto Projectを利用することにより、簡単なソフトウェアレイヤーのカスタマイズや、モダンで高度な組込みシステムの構築が可能となります。

Yocto Project
vs. Debian

Debianはソースとバイナリの双方が提供されている、サーバやワークステーションなどのエンタープライズ向けに生まれたLinuxディストリビューションです。一方、Yocto Projectは組込みシステムに特化して対応できるよう設計されたLinuxディストリビューションを作成するフレームワークです。



Wind River Linuxを採用するメリット

Wind River Linuxは、 商用組込みLinuxマーケットシェアNo.1!※の業界最先端の組込みLinux開発プラットフォームです。Wind River Linuxを使うことにより、お客様は最終製品によるイノベーションの実現に注力ができるため、市場投入までの期間を短縮することが可能です。 さらに、Roll-Your-Own Linuxで課題となるリスクや運用コストを大幅に低減できるため、総所有コスト(TCO)の削減も期待できます。以下のような様々なメリットで、信頼性の高いインテリジェントエッジデバイスの開発を支援しています。

  • 15年の長期サポート(標準5年間)により、お客様の製品ライフサイクルを支援
  • 継続的な脆弱性(CVE)への対応
  • 最新のクラウドネイティブアーキテクチャに対応し、開発とデプロイメントにかかる時間を短縮
    • 事前に構築されたコンテナ技術を統合できる
    • DockerやKubernetesをサポート
  • マーケットグレードLinux
    • 航空宇宙・防衛システム、産業機器、医療機器、自動車、通信など、品質への妥協が許されない分野にも対応可能
  • インテリジェントエッジデバイスを開発する上で必要となる開発環境やツールを提供
    • Yocto Projectと互換性のあるツール
    • Wind River Workbench開発スイート(オプション)
  • コンプライアンスや輸出手続きに必要なリソースを提供


hypervisor

※出典:VDC Research The Global Market for IoT & Embedded Operating Systems (2018)



ウインドリバーのLinux開発プラクティス

ISO9001:品質マネジメントシステムの厳密なエンジニアリングプロセスに準拠

Wind River Linuxは、ISO 9001:2015品質マネジメントシステム規格認証を取得しています。 厳密なエンジニアリングプロセスを順守しており、定期的に品質監査を行っています。(認証対象:Wind River Linuxにパッケージ化されるオープンソーステクノロジーの設計、開発、インテグレーション、検証、規格認証、メンテナンス)

OpenChainに適合

ウインドリバーはオープンソース・コンプライアンスの遵守に必要な要件を共通化するOpenChainにより認証を取得している唯一の組込みLinuxのリーダーです。OpenChainはLinuxディストリビューションに統合されているオープンソースパッケージすべてに対して、パッケージの定めるライセンスを適切に管理できるライセンスコンプライアンスプログラムの要件を定義するプロジェクトです。OpenChainにより、組込みシステムに搭載したLinuxディストリビューションを構成するすべてのコンポーネントに対してサプライチェーンの整合性を証明することができます。これはオープンソースソフトウェアを利用する際に重要となる監査項目です。



プロフェッショナルサービス

ウインドリバーはプロフェッショナルサービスとして、組込みLinuxを活用したシステム開発の課題に対して、組込みシステムのエキスパートが開発を支援するサービスを提供しています。是非お客様の開発プロジェクトにご活用ください。ウインドリバーのプロフェショナルサービスは、ソフトウェア開発プロセスの能力成熟度を評価する国際的な指標であるCMMI® InstituteのCapability Maturity Model Integration(CMMI)®レベル 3認定を取得しています。

受託開発

お客様のプロジェクトのニーズに応じた開発サービスを提供します。ウインドリバーは、航空宇宙・防衛、産業機器、医療機器、自動車、通信など、幅広い業界で多くの受託開発の実績があります。

エンジニアリングサービス

ウインドリバーの組込みシステムのエキスパートをアサインし、オンサイトまたはオフサイトでお客様の開発プロジェクトを支援します。

コンサルティングサービス

Wind River Linuxのコンサルティングサービスは、お客様の開発プロジェクトのプランニングを支援し、それを実現します。

  • 開発プロセスの見直し
  • 組込みLinuxのアーキテクチャと設計
  • Yoctoプロジェクト互換のBSPの作成、ミドルウェアとカーネル開発
  • 自社開発Linuxやハードウェアベンダー提供LinuxからYoctoプロジェクト互換のディストリビューションへの移行
  • オープンソースとウインドリバーのハイパーバイザーベースの仮想化を使用した組込みマルチコアLinuxデザインへの移行
  • ベンチマーク、機能、パフォーマンステストと文書化
  • 障害解析



組込みシステムのエキスパートが製品ライフサイクル全体を支援

Wind River Linuxはテクニカルサポートおよびメンテナンスとアップデートをお客様の製品ライフサイクル全体にわたり提供いたします。

hypervisor

プレミアムサポート

納期の厳しい重要なプロジェクトには、お客様独自の環境、アプリケーション、ハードウェアを把握している専門のサポートチームが必要です。ウインドリバーのテクノロジーに精通した経験豊富なシニアエンジニアが、お客様の環境を把握して最高水準のサポートを提供し、お客様の開発プロジェクトで発生する技術的な課題を解決します。


フローズンブランチメンテナンス(FBM)サービス

フローズンブランチメンテナンスサービスは、製品のライフサイクルを通して、顧客別特定バージョンの構成管理、セキュリティ問題の監視、メンテナンスを提供します。パッチなどの特定ブランチへの変更はお客様で選択頂けるので、コストも最適化できます。サービスには以下のものが含まれます。

  • 不具合の修正パッチの提供
  • セキュリティ脆弱性の対応パッチの提供
  • セキュリティ脆弱性のプロアクティブな監視や通知
hypervisor


カスタムコンテンツマネジメント(CCM)サービス

カスタムコンテンツマネジメントサービスは、お客様のプラットフォームでWind River Linuxに追加されたソフトウェア・パッケージの構成管理、セキュリティ問題の監視、メンテナンスを提供します。サービスには以下のものが含まれます。

  • 不具合の修正パッチ
  • セキュリティ脆弱性の対応パッチ
  • セキュリティ脆弱性のプロアクティブな監視や通知

カスタムソフトウェアを含め、不具合の修正やセキュリティ脆弱性の対応パッチを統合した CCM Layerのリリースも可能です。組込みシステムのライフサイクル全体において、お客様は自社の製品を安心して運用することができます。


ロングタームサポート&メンテナンス
  • ロングタームサポート:お客様の製品ライフサイクルが長い場合でも安心してご利用いただけるよう、標準サポート期間以降も特別に長期間サポートを行う、長期サポートサービスです。
  • ロングタームメンテナンス:CriticalおよびSeverに該当する不具合の修正パッチを提供します。
  • ロングタームセキュリティシールド:HighおよびMediumのセキュリティ脆弱性の対応パッチを提供します。また、セキュリティ脆弱性のプロアクティブな監視や通知をおこないます。

End Of Life製品のサポート&メンテナンス
  • End of Lifeサポート:End of Life製品のテクニカルサポートを提供します。
  • End of Lifeメンテナンス:End of Life製品に対し、ご要望に応じた不具合の修復パッチをご提供します。ご指定の製品バージョンに対する修復パッチを当社にてリリースし、検証します。長期のサポートを期待されるお客様も増えており、都度調整させていただいておりますのでどうかご相談ください。


Wind River Linuxの採用事例

Wind River Studio

東芝グローバルコマースソリューションズ社

インダストリアル分野を得意とする東芝グローバルコマースソリューションズ社はPOSシステムや統合デジタルコンシューマプラットフォームにWind River Linuxを採用しています。また、Wind River Linuxのプロフェッショナルサービスも活用しています。POSシステムには、強力なセキュリティ機能と拡張性の高いグラフィック機能が求められますが、Wind River Linuxを採用することにより、これらの要件を達成しました。機能の追加やサービスの追加のフレキシビリティが改善したことにより、顧客満足度の向上も実現しています。

» 詳細はこちら
VxWorks

テルコ・システムズ社

キャリアネットワーク分野で活躍しているテルコ・システムズ社は、Wind River Linuxをキャリアグレードイーサネットアクセスソリューションに採用しました。社内のソフトウェア資産を維持しつつ、自社OSからオープンソースのLinuxへのマイグレーションに挑戦した同社は、Wind River Linuxを活用することにより、製品の開発期間を30%~40%削減することに成功し、スケーラブルな新機能の追加や、サービスの拡張性の向上を達成しました。

» 詳細はこちら
Wind River Linux

シュナイダーエレクトリック社

インダストリアル(FA)向けのオートメーション機器を開発するシュナイダーエレクトリック社は、様々なCPUアーキテクチャの製品にWind River LinuxとVxWorksを採用しています。IoTに向けた拡張性と、フレキシブル性の高いプラットフォーム開発を目指す同社は、プロフェッショナルサービスも活用し、開発コストの低減、市場投入までの時間の短縮、データを活用したIoTサービスの提供に成功しています。

» 詳細はこちら

Yocto Projectに関するQ&A

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

リソース

Previous Next