記事検索

検索ワードを入力してください。
Sky Tech Blog
組み込み機器​開発に​おける​カスタムLinux活用(Yocto)

組み込み機器​開発に​おける​カスタムLinux活用(Yocto)

AIやIoTの増加に伴い、多様化する組み込み機器開発において、カスタマイズ性の高いLinuxの活用が増えています。本記事では、特定のハードウェアに最適化されたLinuxディストリビューションを効率的に構築するための業界標準ツールセット「Yoctoプロジェクト」について解説します。その主な特徴や、開発環境を構築する際の基本的な流れを紹介します。

近年、AIや画像認識を活用したサービスやIoTによる様々な物が繋がるコネクティッドサービスの増加により、組み込み機器の多様化が加速しております。
組み込み機器は自動車、スマートファクトリーなど、様々な分野で利用されており、各デバイスの特性や実現したいサービスに応じた組込みソフトウェアを開発する必要があります。

このような中で、デバイスに最適化されたOSが求められており、Linuxの活用シーンも更に増えております。
Linuxはオープンソースでカスタマイズ性が高いため、多様なニーズに対応するための主要な選択肢となっています。
そして、開発製品に特化したLinuxを搭載するために、必要不可欠となっているのがYoctoプロジェクトです。

Yoctoプロジェクトは、Linux Foundationによって提供されているオープンソースのツールセットで、組み込みシステム向けにカスタマイズされたLinuxディストリビューションを作成するためのツールとメタデータを提供します。
これにより、開発者は特定のハードウェアプラットフォームに最適化されたLinuxシステムを効率的に構築することができます。

Yoctoプロジェクトの​主な​特徴は​以下の​とおりです。

  • 事実上の業界標準となるツールキット

    • 以下のサイトでも記載されておりますが、カスタム組み込みLinuxを構築する上での業界標準となるツールです。
    • https://www.yoctoproject.org/
  • カスタマイズ性

    • 特定のハードウェア構成、要件に合わせて専用のLinuxをカスタマイズ開発できるツール
    • アプリケーションの開発においても、OSSの組み込みの容易さ等もあり、OS開発だけではなく、アプリケーションにおいてもカスタマイズがしやすいです。
  • スケーラビリティ

    • 小規模なデバイスから大規模なシステムまで、様々な機器のプロジェクトに対応できます。
  • 再現性

    • リポジトリからソースコード等のダウンロードからビルドして実行イメージを生成するまでを一貫して対応できるため、複数人で開発を行うようなプロジェクトにおいても一貫性のある生成物を構築することができます。
  • 再利用性

    • 組み込み機器は似て非なる製品を開発するケースも多いですが、この際にモジュールの再利用性がビジネスにおいて重要になります。
    • Yoctoプロジェクトではレイヤーという概念から、Yoctoシステムのツール群や、ターゲット機器のハードウェア固有の設定、また、OSSやアプリケーションなどレイヤーを分けてビルド環境を構築し運用することで、派生モデルでのモジュールの再利用性を構築しやすいシステムになります。
  • クロスコンパイル環境

    • 組み込み機器ではターゲット機器のCPUやメモリ等の資源に制約がありますが、クロスコンパイラを構築することで、x86上でのデバッグも行うことができます。また、これによりPC上でのシミュレート環境の開発も対応でき、開発効率を高めることができます。

Yoctoプロジェクトを​用いた​開発環境を​構築する​際の​大枠の​流れは​以下に​なります。

  1. 必要なパッケージのインストール
    • Yoctoプロジェクトのビルドに必要なツールやライブラリをホストPCにインストール
  2. Pokyのクローン
    • Yoctoプロジェクトの参照ビルドシステムである「Poky」をGitリポジトリからダウンロード
  3. ビルド環境の初期化
    • クローンしたPokyディレクトリに移動し、ビルド環境を初期化するためのスクリプトを実行
  4. レシピファイルの作成
    • レシピファイルは特定のソフトウェアをビルドするための手順を記述したファイルとなり、ソースコードの取得からコンパイル、パッケージ化、そして最終的なイメージへのインストールまでの一連の作業を複数のレシピファイルで設定
  5. ビルド設定の確認
    • ビルドターゲットとなるハードウェアの指定や、ビルド時のCPUコア数の設定等を設定
  6. BitBakeの実行
    • レシピファイルに記述された内容に従い、イメージのビルドを実施

Yoctoプロジェクトは組み込み機器を開発する上で、非常に有用なツールではありますが、一方で、活用するにはレイヤーの設計やレシピファイルの記述など専門の知識や経験を必要とする部分もあります。
Sky株式会社では、Linuxを活用した組込みソフトウェアのエンジニアが多数在籍しています。
製品開発において、お困りのことが御座いましたら、お声がけの程よろしくお願い致します。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム