2015年02月23日

マイコン

BeagleBoneBlackでAndroid(AOSP)を使おう

前回、BeagleBoneBlack(以下、BBB)用のタッチパネルLCD Capeをご紹介しました。このCapeによりBBBにタッチパネル液晶画面がつきましたが、 BBBのデフォルトに入っているシステムは、タッチパネルに最適化されたUIでないので、少々使いづらいです。
一方、現在最も身近にあるタッチパネル製品といえば、スマートフォンです。このスマートフォンのシステムはタッチパネルに最適化されたUIを持っており、タッチパネルでの操作が容易となっています。
現在のスマートフォンで主に用いられているOSは、iPhoneのiOSと、Androidです。後者のAndroidはオープンソースで開発されており、様々な機器で動作させることができます。 BBBもその一つで、AOSP Android KitKat 4.4.4のシステムイメージが配布されています。
今回はタッチパネル液晶画面を搭載したBBBを扱いやすくするため、 Androidを導入する方法について解説します。

 

用意するもの

 

Androidのインストール

SDカードへのインストール方法は非常に簡単で、配布されているAndroidシステムのイメージファイルを、 SDカードにダンプするだけです。

 

Anrdoidシステムイメージのダウンロード

最初にAndroidシステムのイメージファイルをダウンロードします。以下のページの「You can download the latest pre-made image (about 265 MB in size) from here.」と書かれたところから、xz圧縮されたイメージファイルをダウンロードして下さい。

 

イメージファイルの解凍

イメージファイルはXZという形式で圧縮されているので、解凍ソフトを用いて解凍します。

LinuxまたはMac環境の方は、xzコマンドを用いて解凍を行います。以下のコマンドを実行して解凍を行ってください。ただし、archive.xzは先ほどダウンロードしたイメージファイルの名前に変更してください。

$ xz -d archive.xz

Windowsの方は7-Zipというソフトをインストールして、これを用いて解凍を行ってください。

解凍が行われると、拡張子が.imgのファイルが得られます。

 

SDカードへのダンプ

解凍したイメージファイルをSDカードへダンプします。

LinuxまたはMac環境の方は、ddコマンドを用いて行います。 ddコマンドの基本的な書式は次のようになります。

$ dd if=ダンプ元 of=ダンプ先

今回のダンプ元は先ほど解凍した.imgファイルです。ダンプ先はSDカードを表すデバイスファイルになるので、デバイスファイルのパスを調べなければいけません。

デバイスファイルパスはmountコマンドで調べられます。例えば、私のMac環境上でSDカードが /Volume/SDCARD という名前でマウントされているとします。ここでターミナルを開いてmountコマンドを実行すると、次のようにどのデバイスファイルをどこにマウントしているかの情報が出てきます。

$ mount /dev/disk1 on / (hfs, local, journaled) devfs on /dev (devfs, local, nobrowse) map -hosts on /net (autofs, nosuid, automounted, nobrowse) map auto_home on /home (autofs, automounted, nobrowse) /dev/disk2s1 on /Volumes/SDCARD (msdos, local, nodev, nosuid, noowners)

今回の場合、SDカードを表すデバイスファイルは /dev/disk2 となる(Linuxの場合は/dev/sdbのようになる)ので、これをddコマンドのダンプ先に指定します。(Tips: /dev/disk2s1の「s1」はデバイスのパーティションを表しているので、デバイス自体を指定する場合は「s1」を除いた/dev/disk2を用います)

なお、一般にddで書き込むためには、デバイスファイルがアンマウントされていることと、管理者権限での実行が必要となります。例として私の環境上でアンマウントとddでイメージを書き込むコマンドを、以下に示します。このコマンドを各自の環境に合わせて実行し、イメージの書き込みを行ってください。

$ sudo diskutil unmount /Volumes/SDCARD #コメント: Mac環境の場合 $ sudo umount /Volumes/SDCARD #コメント: Linuxの環境の場合 $ dd if=archive.img of=/dev/disk2 bs=1M #コメント: 書き込み速度向上のためbsオプションをつけています

Windowsの方はシリコンリナックス社のDD for Windowsなどを用いて書き込みを行ってください。

 

起動確認

SDカードへのダンプが完了したら、SDカードをBBBに差し込み、電源を入れてください。しばらくするとAndroidのロゴが現れ、更に数分待つとおなじみのロック画面が表示されます。

IMG_2767

これでAndroidのインストールは完了です。

 

おわりに

今回はタッチパネル液晶画面を搭載したBBBを扱いやすくするため、 Androidを導入する方法について解説しました。

今回導入したAOSP AndroidにはGoogle Play Storeが入っていないので、ストアで配布されているアプリはそのままインストール出来ません。しかし、apkファイルが配布されているアプリや、自作のアプリはインストールして使うことができます。なので、このBBB用AOSP Androidイメージは、BBBとタッチパネル液晶画面を用いた製品などを制作する際に、タッチUIアプリの作成をAndroidの資源を用いて簡単にする……といった用途で役立つのではないでしょうか。

みなさまの用途に合わせて、活用していただければ幸いです。

 

作者

作者: 西永俊文
Twitter: tnishinaga
協力: マルツエレック株式会社

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 – 改変禁止 4.0 国際 ライセンスの下に提供されています。

 

【BB-BLACK-RC】BeagleBone Black とは?
http://www.marutsu.co.jp/pc/i/238963/

BeagleBoneは組み込みコンピューター分野でのオープンソースの
教育と普及を目的とする非営利団体BeagleBoard.org Foundationがサポートする
シングルボードコンピューターです。

見た目やサイズは小規模MCUの評価基板と同様ですが、
実態は強力でLinuxが動く小型のパーソナルコンピューターです。

BeagleBone Blackは最新版でTI社製AM335x 1GHz ARM Cortex-A8をプロセッサとし
512MBのDDR3RAMや2GBのオンボードeMMCフラッシュストレージほか
数々のデバイスを備えています。

BeagleBone Blackはマルツオンラインでも好評発売中です。

ページトップへ