組み込みアプリケーション用Linuxのガイド
by jiashiuan on 10 June 2022
原典:https://ubuntu.com/blog/linux-for-embedded-applications
組み込みデバイスとは、ハードウェアとソフトウェアで構成され、コンピュータシステム全体の中で専門の機能を実行するシステムです。一般にはリソースに制約があり、処理エンジンを含みます。組み込みLinuxシステムのソフトウェアはLinuxカーネル上で実行されます。Linuxカーネルとはシステム内の処理すべてを完全に制御するOSの中核部分です。
つまり組み込みLinuxシステムとは、簡単に言えばLinuxカーネル上で実行される組み込みシステムです。ここでは、組み込みアプリケーション用のLinuxの何が特別かを解説します。
組み込みアプリケーション用のカーネル
LinuxカーネルはUnixに類似したOSカーネルファミリーのメンバーです。Unixの最初のバージョンは、AT&T Bell Labsで1969年に開発されました。Unixは最初のポータブルOSでしたが、同社が所有権を保有していたため、Linuxに加えてFreeBSD、NetBSD、OpenBSDなどの多くの無償でオープンソースの代替品が開発されました。
Linuxカーネルは、システム起動時にRAMに読み込まれ、セッションの間は常時メモリに保持されます。
Linus氏は組み込みアプリケーション用のLinuxのバージョンを公開したことはありませんが、開発者は多くの場合、カスタムハードウェアをサポートする構成比を必要とします。これは、デバイス内のカーネルのビルド構成が、サーバーやワークステーションのものとは一般に異なるためです。
組み込みアプリケーション用のLinux
Linuxは、組み込みアプリケーションの開発者に最も人気の高いOSです。その理由は、オープンソースであること、スケーラビリティ、開発者向けのサポート、ツールなどいくつかのあり、Linuxが組み込みシステムに適していることは多くの議論で確立されています。
Linuxのカーネルは、開発者によっていくつものCPUアーキテクチャに移植されているため、多くのハードウェアプラットフォームで実行できます。Linuxを使用すると、産業用設定の特別なプログラミング言語や、マイクロコントローラのネイティブのプログラミングに制限されることなく、広範な言語がサポートされます。
Linuxには豊富なネットワーキングプロトコルのスタックが実装されており、拡張性に優れ、オープンソースで、コミュニティにより包括的なサポートを受けており、ロイヤリティなしで使用できます。組み込み用Linuxが急速に成長している理由は、ほぼ際限なく挙げることができます。
Ubuntu Coreは組み込みアプリケーション用のLinux 2.0
Ubuntu Coreは、IoTおよび組み込み環境向けのUbuntuで、全世界の開発者がUbuntuから期待するような復元性とセキュリティを実現しています。フットプリントが最小限で、モジュール構造の、アーキテクチャが簡単なOSで、Linuxの汎用的なパッケージング形式であるSnap上に構築されています。
アプリケーションを自動的に封じ込め、すべてのSnapに厳格なAppArmorとSeccompのルールを統合する点で、セキュリティはUbuntu Coreの重要な特徴です。Canonicalは、Ubuntuを背後で支える企業として、システム全体を最初のブート部分から再設計し、最もセキュアな組み込みLinuxを作り上げました。これにより開発者は、フルディスクの暗号化から読み取り専用のルートファイルシステムまで複雑なセキュリティ機能を自分自身で実装することなく、高い費用対効果で組み込みデバイスを出荷できます。
Ubuntu Coreデバイスの更新は、実運用環境で十分なテストが行われたCanonicalのソフトウェア配布機構により提供されます。
膨大な数のデバイスのソフトウェアと更新を管理するのは簡単ではありません。ハードウェアの一部で別のアプリケーションを実行する必要がある場合は特にそうです。複数のマシンでソフトウェアの更新と取り扱いを自動的に行うのは、Linux用のIoTアプリストアの主要な機能の1つです。このカスタムのエンタープライズストアでは、グローバルなSnapストアで公開されているソフトウェアや、特定の用途向けに社内で開発されたカスタムソフトウェアなどを含めて、デバイスで使用するアプリケーションを最適な組み合わせで使用できます。
結論として、セキュアなOS、Snapパッケージ、ストアの組み合わせにより、開発者はセキュアでオープンソースな組み込みソフトウェアの開発と展開用のプラットフォームを使用できるようになります。
組み込みLinuxプロジェクトにYoctoとUbuntu Coreのどちらを使用すべきか
次の組み込みプロジェクト用にUbuntu Linuxを評価中ですか?
参考資料
基本事項を見直したい方は、組み込みLinuxとはをご覧ください。
なぜLinuxは組み込みシステムのOSとして人気が高いのでしょう?組み込みアプリケーション用Linuxの公式ガイドは、ホワイトペーパーまたはウェビナーフォームでご覧ください。
Ubuntu Core、Snap、Snapcraftは、オープンソースのセキュアな組み込みLinux開発と展開のプラットフォームとなります。
YoctoとUbuntu Coreの詳細な比較に関心のある方は、組み込みLinuxプロジェクトにYoctoとUbuntu Coreのどちらを使用すべきかのウェビナーをご覧ください。
質問、ご意見、共有したいニュースのある方は、IoT Discourseにご参加ください。IoT(モノのインターネット)や緊密に接続した組み込みデバイスに関して何でも話し合っていただけます。
ニュースレターのサインアップ
関連記事
IoTデバイス管理の簡素化:Ubuntu CoreデバイスをLandscapeに追加する方法
Landscapeは、ほぼCanonicalの設立当初から製品リストに存在します。管理者はLandscapeにより、単一の集中型ポータルからデスクトップとサーバーのインスタンスを管理できます。Landscape Serverの最新リリース(23.10)では、Landscapeでsnapパッケージを管理する機能が導入されました。また、CanonicalのSnap Storeで入手できるLandscape Client snapパッケージのベータ版では、Ubuntu CoreベースのデバイスをLandscape環境に追加できます。 Landscapeは、組織のUbuntu環境全体にわたるリモートのフリート管理サービスを提供し、ソフトウェアのバージョンと設定の管理、セキュリティ […]
2024年における自動車業界の注目トレンド
自動車業界では複数の技術革新が同時に進行し、活気に満ちた時代を迎えています。AIから5G、そして各種の周辺技術まで、今年は数多くの画期的なトレンドが浮上すると予想されます。 電気自動車(EV)が市場とOEMメーカーのビジネス戦略を変革し、顧客の目が従来の内燃エンジン(ICE)車から離れる中、自動車の開発や設計のあり方が問われています。 さらに、ソフトウェアの更新とインターネット接続によってシームレスなサービスやエンターテインメントが可能になるとともに、顧客は交通手段に対して従来と異なるアプローチを期待しています。2024年に予想される自動車分野の重要なトレンドのいくつかを詳しく検討しましょう。 車載ソフトウェアのOTA更新 OTA(Over-The-Air)更新は、自動車 […]
エッジAI
オープンソースで何を、なぜ、どのように実現するか エッジAIがデバイスとデータセンターの関係を大きく変える中、組織には常に最新のイノベーションの導入が求められます。AI搭載のヘルスケア機器から自動運転車まで、エッジデバイス上のAI(人工知能)はさまざまな分野で活躍します。これを踏まえて今回のブログ記事では、エッジAIプロジェクトを開始する際の検討事項、利点、課題、オープンソースの役割について考察します。 エッジAIとは エッジにおけるAI、またはエッジAIとは、人工知能とエッジコンピューティングの組み合わせを指します。エッジAIの目的は、接続されたエッジデバイス上で機械学習モデルを実行することです。これにより、デバイスは常にクラウドに接続してデータを処理しなくても、スマー […]