メディア

組み込みLinuxの「正体」と開発の「困難さ」超速解説 組み込みLinux(2/2 ページ)

» 2017年08月08日 09時00分 公開
[大原 雄介TechFactory]
前のページへ 1|2       

組み込みLinuxのディストリビューション

 例えばあるARMのSoCを使ってシステムを作ろうと考えたとする。まずは開発ボードを入手して、これをベースに性能の確認や足りないハードウェアの設計を行いながら、同時にソフト開発に着手する事になる。こうした開発ボードには通常「BSP」(Board Support Package)と呼ばれるソフトウェアが付属している。

 ここには開発ボード上で稼働するLinuxと、開発ボード上のデバイスを利用するためのドライバやライブラリ、それとサンプルコードといったあたりが含まれるのだが、このBSPに付属してくるLinuxは、特定のディストリビューションに依存しないMainline Linuxをベースにしたものであること事が多い。

photo アドバンテックの「ARMスターターキット」。検証済みのBSPも付属する
組み込みLinux開発入門

組み込みLinux」に関するさらに詳しい情報をお求めの方は、MONOistに掲載された人気連載記事を再編集した、無料電子ブックレット『「組み込みLinux」開発の基礎』をぜひご覧ください。 ⇒ダウンロードはこちら


photo Texas Instrumentsが提供するソフトウェアについての情報

 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開発入門

組み込みLinux」に関するさらに詳しい情報をお求めの方は、MONOistに掲載された人気連載記事を再編集した、無料電子ブックレット『「組み込みLinux」開発の基礎』をぜひご覧ください。 ⇒ダウンロードはこちら


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.