Yocto Projectとは?組込みLinuxとエッジAIガイド

組込みシステムが、要求の厳しいエッジAI、マシンビジョン、ロボット、産業オートメーションのワークロードを担うようになるにつれて、開発者はハードウェア上で実行されるソフトウェアをより細かく制御する必要がある。同時に、サイバーセキュリティとソフトウェアサプライチェーンの要件が高まるにつれて、再現性のあるビルド、ソフトウェアのトレーサビリティ、および長期的なシステムメンテナンスの必要性が増している。

これらの傾向は、特にNVIDIA JetsonのようなプラットフォームがカスタマイズされたエッジAIソフトウェア環境を構築するためのYoctoサポートを拡大するにつれて、Yocto Projectへの注目を再び集めている。

 

Yocto Projectとは?

Yocto Projectは、組込みデバイス用のカスタマイズされたLinuxベースシステムを構築するためのオープンソースフレームワークである。従来のLinuxディストリビューションとは異なり、Yoctoはプリビルドされたオペレーティングシステムを提供しない。代わりに、開発者が特定のハードウェアとアプリケーション要件に合わせてLinuxイメージを作成するために使用するツールとビルド環境を提供する。

Yocto Projectは、長期サポートリリースを含む定期的なリリースサイクルに従っている。Yocto Project 6.0 “Wrynose”は現在のLTSリリースで、Linux 6.18 LTSが含まれている。

このアプローチにより、開発者は、ドライバーやライブラリからアプリケーションやシステムサービスに至るまで、オペレーティングシステムに含まれるものをより細かく制御できる。結果として、Yoctoは、汎用オペレーティングシステムではなく、目的のために構築されたソフトウェア環境を必要とする、組込み、産業、IoT、およびエッジコンピューティングシステムで広く使用されている。

Yocto Projectと汎用Linuxディストリビューションの比較


Yocto Project 汎用Linuxディストリビューション
アプローチ カスタマイズされたLinuxシステムを構築する プリビルドされたLinuxシステムをインストールする
ソフトウェア デバイスが必要とするコンポーネントを選択する より幅広いパッケージセットを含む
ハードウェア 特定のハードウェアのサポートを設定する 幅広いハードウェアをサポートするように設計されている
最適 組込み、産業、IoT、エッジシステム デスクトップ、サーバー、汎用コンピューティング

 

Yocto Projectの仕組み

Yocto Projectは、OpenEmbeddedビルドシステムを使用して、デバイスに必要なハードウェア、ソフトウェア、および構成を定義する。その後、BitBakeがこれらの指示を処理し、結果のLinuxイメージを構築する。

Yocto Project workflow showing BSP configuration, recipes, layers, source code, BitBake, and customized Linux image

  • BSPとマシン構成: ボード固有の設定、カーネル構成、ドライバーなど、ターゲットハードウェアを定義する。
  • レイヤー: ハードウェアサポート、ソフトウェア、製品固有のカスタマイズを整理する。
  • レシピ: ソフトウェアコンポーネントがどのようにフェッチ、構成、コンパイル、パッケージ化されるかを定義する。
  • OpenEmbedded-Core (OE-Core): ビルドシステムの基盤として使用されるコアメタデータ、レシピ、クラスを提供する。
  • BitBake: メタデータを処理し、依存関係を解決し、ビルドタスクを実行する。
  • Poky: Yocto Projectのリファレンスディストリビューションおよびビルド構成で、開発の出発点として一般的に使用される。

 

Yocto Projectの利点

Yocto Projectは、開発者が組込みLinuxシステムを構築および維持する方法をより細かく制御できるようにする。主な5つの利点は次のとおりである。

カスタマイズ

開発者は、特定のアプリケーションに必要なソフトウェアパッケージ、サービス、ライブラリ、および機能を選択できる。

より小さなソフトウェアフットプリント

不要なコンポーネントを削除できるため、ストレージとメモリの使用量を削減できる。

再現性のあるビルド

Yoctoは定義されたレシピと構成を使用するため、チームは開発と生産全体で一貫したソフトウェアイメージを再作成できる。

ハードウェア固有のサポート

BSPとマシン構成により、特定のプロセッサ、ボード、ドライバー、および周辺機器に合わせてLinuxイメージを調整できる。

セキュリティとソフトウェアのトレーサビリティ

Yoctoは、CVE分析やSPDXソフトウェア部品表(SBOM)など、脆弱性チェックとソフトウェア追跡のためのツールを提供し、開発者がイメージに含まれるソフトウェアコンポーネントを特定して管理するのに役立つ。

 

Yocto導入を推進しているものとは?

1. エッジAIの最適化には目的のために構築されたソフトウェアスタックが必要

エッジAIシステムは、GPUまたはNPUアクセラレーション、カメラ、センサー、ドライバー、AIフレームワーク、およびアプリケーションソフトウェアを単一のプラットフォームに組み合わせることが多い。たとえば、マシンビジョンシステムは、カメラドライバー、GPUアクセラレーション、推論ライブラリ、ネットワーキング、および検査アプリケーションを優先する可能性がある。

Premio JCO-1000-ORN-A NVIDIA Jetson Edge AI computer comparing Ubuntu-based Jetson Linux and a Yocto custom Linux image for AI quality inspection.
NVIDIA Jetson Orin Nano/NX Superを搭載したPremioのJCO-1000-ORN-Aシリーズは、部品製造環境でAIベースの品質検査ワークロードを実行している。

 

Yoctoは、開発者がこれらの特定のワークロードに合わせてソフトウェア環境を調整し、制御されたソフトウェアフットプリント、ハードウェア固有の統合、および反復可能なデプロイメントをサポートするのに役立つ。これは、JetPack 7.2がYoctoサポートを追加したNVIDIA Jetsonエコシステムでますます関連性が高まっている。対応するJetson OrinおよびThorプラットフォーム向けである。

利点は、YoctoがAI推論を本質的に高速化することではなく、ワークロードを取り巻くソフトウェアスタックをターゲットハードウェアとアプリケーション用に最適化できることである。

2. サイバーセキュリティ規制によりソフトウェアのトレーサビリティ要件が増加している

サイバーセキュリティは、組込みデバイスと接続されたデバイスにとってより大きな優先事項となり、脆弱性管理、ソフトウェアのトレーサビリティ、および長期的なセキュリティメンテナンスの必要性を高めている。

最新のLTSリリースであるYocto Project 6.0 “Wrynose”は2030年4月までサポートされ、改善されたSBOMとCVE追跡、より安全なデフォルトにより、これらの機能を強化している。Yocto 6.0は、SBOMベースのCVE分析も使用しており、開発者はビルド中に既知の脆弱性を特定し、以前にビルドされたイメージを定期的に分析できる。

YoctoはSPDX形式のソフトウェア部品表(SBOM)を生成できる。SPDXは、ソフトウェアコンポーネント情報を交換するための業界標準形式であり、製造業者にビルドに含まれるソフトウェアの機械可読なインベントリを提供する。

EUサイバーレジリエンス法とYocto Project

これらの機能は、EU市場に出されるデジタル要素を含む多くの製品にサイバーセキュリティと脆弱性管理の要件を導入するEUサイバーレジリエンス法(CRA)の下でますます関連性が高まっている。

Yocto自体は製品をCRA準拠にするわけではないが、その長期サポート、脆弱性追跡、SBOM生成、および再現可能なビルド機能は、製造業者がコンプライアンスの取り組みをサポートするのに役立つ。

 

Yocto Projectを採用している主な業界

Yoctoは、カスタムハードウェアサポート、制御されたソフトウェア環境、長い製品ライフサイクル、および信頼性の高いアップデートを必要とする業界で特に価値がある。

  • 産業オートメーションとエッジAI: マシンビジョン、ロボット、検査システムには、多くの場合、特殊なドライバー、アクセラレーター、センサー、およびI/Oが必要である。Yoctoは、開発者が正確なハードウェアとワークロードに合わせてソフトウェアスタックを構築するのに役立つ。
  • 自動車と輸送: 車両と輸送システムには、長い展開サイクル全体で一貫性のあるメンテナンス可能なソフトウェアが必要である。Yoctoは、再現可能なビルドとプラットフォーム固有のカスタマイズをサポートする。
  • 医療機器: 医療機器は、制御され追跡可能なソフトウェア構成の恩恵を受ける。特に、ハードウェアとソフトウェアが長い製品ライフサイクルにわたって安定している必要がある場合である。
  • 通信とネットワーキング: ルーター、ゲートウェイ、ネットワークアプライアンスは、多くの場合、特定のネットワーキング機能とセキュリティ制御を備えたコンパクトで目的のために構築されたLinux環境を必要とする。
  • IoTとスマートデバイス: リソースに制約のある接続されたデバイスは、より小さなソフトウェアフットプリント、ハードウェア固有のサポート、および展開されたソフトウェアのより厳密な制御の恩恵を受ける。

 

NVIDIA JetsonエッジAIコンピューターへのYoctoの導入

JetPack 7.2では、NVIDIAはJetson向けの公式Yoctoサポートを導入し、OE4Tエコシステムを通じてJetson OrinおよびJetson Thorプラットフォーム向けの検証済みYoctoレシピを含んだ。これにより、Jetson開発者は、NVIDIAのアクセラレーテッドコンピューティングスタックへのアクセスを維持しながら、カスタマイズされたLinux環境を構築するための別の選択肢を得られる。

カスタム産業用Jetsonシステムの場合、キャリアボード、I/O、ドライバー、およびプラットフォーム構成を有効にするには、ハードウェア固有のBSPサポートが依然として必要である。

Premioは、JCOシリーズ向けのJetPack 7.2 BSPを準備しており、2026年9月末に提供開始を予定している。これにより、お客様はPremioの堅牢なNVIDIA JetsonプラットフォームでカスタマイズされたYoctoベースのエッジAIシステムを構築できるようになる。

 

Yoctoで目的のために構築されたエッジシステムを構築する

Yocto Projectは、組込み開発者が特定のハードウェアとアプリケーション向けにLinuxを構築、最適化、および維持する方法をより細かく制御できるようにする。エッジAIとサイバーセキュリティの要件が増え続けるにつれて、この柔軟性は産業システムにとってますます価値が高まっている。YoctoサポートがNVIDIA Jetsonプラットフォーム全体で拡大するにつれて、Premioはこの機能をJCOシリーズに拡張し、お客様が目的のために構築されたエッジAIデプロイメントを構築するためのより多くの柔軟性を提供している。

 

Product Grid
jco-series jco-1000-orn jco-3000-orn jco-6000-orn