組み込みLinuxの「正体」と開発の「困難さ」:超速解説 組み込みLinux(2/2 ページ)
数ある組み込み機器のなかでも、タッチパネルやネットワークなどある程度リッチな機能が必要となる際に選択されることの多いOSが「組み込みLinux」である。他OSとの違いや開発にまつわる現状を解説する。
組み込みLinuxのディストリビューション
例えばあるARMのSoCを使ってシステムを作ろうと考えたとする。まずは開発ボードを入手して、これをベースに性能の確認や足りないハードウェアの設計を行いながら、同時にソフト開発に着手する事になる。こうした開発ボードには通常「BSP」(Board Support Package)と呼ばれるソフトウェアが付属している。
ここには開発ボード上で稼働するLinuxと、開発ボード上のデバイスを利用するためのドライバやライブラリ、それとサンプルコードといったあたりが含まれるのだが、このBSPに付属してくるLinuxは、特定のディストリビューションに依存しないMainline Linuxをベースにしたものであること事が多い。
「組み込みLinux」に関するさらに詳しい情報をお求めの方は、MONOistに掲載された人気連載記事を再編集した、無料電子ブックレット『「組み込みLinux」開発の基礎』をぜひご覧ください。 ⇒ダウンロードはこちら
Texas Instrumentsの場合、部分的にはYocto Projectと互換性のあるコンポーネントも提供されるが、コアになる部分は同社が提供するLTS(Long Time Support)Mainline Linuxである(Scalable Linux, TI-RTOS and Android solutions for TI processors)。NXPも似たようなものである(IMXLINUX: Embedded Linux for i.MX Applications Processors)。
VIA Technologiesは最近はAndroidに力を入れているが、Linux BSPに関してはやはりMainline Linuxに近い。ということで、開発者はMainline Linuxをベースにいろいろ足らないものを追加したり作りこんだり、という作業が必要になる(New Android BSP for VAB-820 and AMOS-820)。
さすがにこれは不便である、ということでいくつかの組み込みLinuxディストリビューションが存在する。Linux FoundationがサポートしているeLinuxのEmbedded Linux Distributionsページに、主要なEmbedded Linux Distributionがまとめられている(Embedded Linux Distributions)。
ここに載っていないもので有名なものとしては「Yocto Project」(Yocto Projectのページの冒頭に“It's not an embedded Linux distribution - it creates a custom one for you”とあったりするので、ディストリビューションとして紹介すると怒られてしまうかもしれないが)があり、製品としてはMentor Graphicsの「Mentor Embedded Linux Platform」などもある。ただし、どのディストリビューション/製品であっても、全てのプラットフォームにて利用できる訳ではない。
ハードが先か、ソフト(ディストリビューション)が先か
このあたりが難しいところで、まずディストリビューションを選び、次にそのディストリビューションがサポートしているハードウェア構成の中で目的にあったものを選ぶか、それとも先にハードウェア構成を決めて、次にディストリビューションを探す(もしくはMainline Linuxで頑張る)か、はケースバイケースである。
筆者の見聞きした範囲で言うと、一度ハードウェアとディストリビューションが決まると、続く開発プロジェクトではその組み合わせを踏襲するパターンが非常に多い。逆に全く新規の場合は、Distributionから選ぶパターンとハードウェアから選ぶパターンの両方を行って候補を並べた上で、悩むというケースが多いようである。
また最近は、特にキオスク端末やPOSレジスターなど、ユーザーが操作するシーンが多い機器に関しては、Androidの採用も徐々に進んできている。こちらはこちらでAndroidのバージョンが多数あることもあって、いわゆる組み込みLinuxとはちょっと違った形での苦労が必要になるらしいが、VIA Tchnologiesなどは積極的にAndroidを組み込み機器向けに投入しており、他にもAndroidを推すボードベンダーは少なくない。
加えてAndroidを採用すると、既に多数存在するスマートフォン向けの開発者にアプリケーション層の開発をお願いできるという点もメリットになる。今後は組み込みLinuxのある程度のシェアをAndroidが占めてゆくようになると考えられる。
「組み込みLinux」に関するさらに詳しい情報をお求めの方は、MONOistに掲載された人気連載記事を再編集した、無料電子ブックレット『「組み込みLinux」開発の基礎』をぜひご覧ください。 ⇒ダウンロードはこちら
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「RTOSとは何か」を理解できる7つの特徴
組み込み機器をどう動かすかを考える際、選択肢として浮上するのが「RTOS(Real Time Operating System)」である。このRTOSとは何であり、なぜ必要か、どのような特長を持つのか、組み込み向けLinuxとはどう違うのか、解説する。 - 産業機器にLinuxの風、なぜルネサスがLinuxを「推す」のか
マイコン性能が向上し、生産機器の「つながる化」が求められている中、産業機器へのLinux搭載が脚光を浴びている。ルネサスは対応チップ提供のみならず、マケプレの開設で産業機器へのLinux搭載を“推し”ていく。 - 「組み込みLinux」開発の基礎
組み込み機器で用いられる「組み込みLinux」は、環境さえ整えればPCやサーバで稼働するLinuxと同様の開発が可能となります。本稿では組み込み開発の基礎知識から組み込みLinuxの環境構築、組み込み用ボードを用いたWebサーバの稼働までを紹介します。 - 産業機器にLinuxとAndroidを推進、アドバンテックらが推進団体
アドバンテックが産業用途に向けて組み込みLinuxと対応ボードを推進する団体、「Embedded Linux&Android Alliance(ELAA)」の設立を発表した。 - IoTの実現に最適な「Windows IoT」と「Azure IoT」
マイクロソフトの組み込み/IoT機器向けOS「Windows Embedded/IoT」の導入メリットとは? 連載第4回では、IoTの実現に欠かせない要素の1つ“クラウド”に焦点を当て、マイクロソフトのクラウドプラットフォーム「Microsoft Azure」のIoT向けサービス、そして組み込み/IoTデバイスとクラウドの連携活用について紹介する。