例えばある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.
豊富なホワイトペーパーの中から、製品・サービス導入の検討に役立つ技術情報や導入事例などを簡単に入手できます。