警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : Armadillo-500 FXでAndroidを使ってみる

対象製品: Armadillo-500 FX

Armadillo-500 FXでAndroidを簡単に試す方法を紹介します。動作させる手順は下記のようになります。

  1. USB SSDを初期化する
  2. AnrdoidをSSDにコピーする
  3. カーネルを書き換える
  4. ユーザランドを書き換える
  5. Anrdoidを起動してみる
  6. 起動時にAndroidを自動的に起動させる

本 Howto で動作させる Android のバージョンは 1.0 です。

Armadillo-500 FX Android ダウンロード

Linuxカーネル (ver 081210, 1.67 MB)
Atmark Distユーザランド (ver 081030, 2.73 MB)
Androidユーザランド (ver 081210, 29.58 MB)

変更履歴

  • 08/12/10: オーディオ再生できるようにしました。

上記のファイルはデモ用です。動作は一切保証されていません。自己責任の上でご利用ください。

1. USB SSDを初期化する

出荷状態ではSSDにパーティンションが作成されていないので、まずはfdiskコマンドを利用して作成します。


[armadillo ~]# fdisk /dev/sda

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1011, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1011, default 1011):
Using default value 1011

Command (m for help): w

そして新しく作成したパーティンションにファイルシステムを作成します。ここではmke2fsコマンドで ext3 のファイルシステムを作成します。


[armadillo ~]# mke2fs -j /dev/sda1

2. AnrdoidをSSDにコピーする

SSDに作成したファイルシステムをマウントします。


[armadillo ~]# mount /dev/sda1 /mnt/

そして、マウントしたディレクトリに移動してから、Androidユーザランドのアーカイブをダウンロードします。


[armadillo ~]# cd /mnt/
[armadillo /mnt]# wget http://armadillo.atmark-techno.com/files/downloads/misc/android/android-a500fx-tmp-081210.tar.gz

最後にダウンロードしたアーカイブを展開します。


[armadillo /mnt]# tar xzf android-a500fx-tmp-081210.tar.gz
[armadillo /mnt]# ls
android/                          lost+found/
android-a500fx-tmp-081210.tar.gz

3. カーネルを書き換える

Androidに対応しているカーネルをダウンロードして、フラッシュメモリに書き込みます。ここでnetflashを利用して一気にやります。


[armadillo ~]# netflash -nkur /dev/flash/nor.kernel http://armadillo.atmark-techno.com/files/downloads/misc/android/linux-a500fx-android-tmp-081210.bin.gz

4. ユーザランドを書き換える

出荷状態でデモアプリケーションが液晶パネルで表示されるようになっています。Androidを起動できるようにデモアプリケーションが起動しないAtmark Distユーザランドをフラッシュメモリに書き込みます。


[armadillo ~]# netflash -nkur /dev/flash/nor.userland http://armadillo.atmark-techno.com/files/downloads/misc/android/romfs-a500fx-android-tmp-081030.img.gz

5. Anrdoidを起動してみる

chrootコマンドを利用してAndroidの環境に入って起動します。ArmadilloのロゴそしてAndroidのロゴが表示されてから、Androidのホームスクリーンが立ち上がります。


[armadillo ~]# chroot /mnt/android /init

6. 起動時にAndroidを自動的に起動させる

次のように/etc/config/rc.localを編集することでArmadillo-500 FXのJumper 2がOPENの時のみ、Androidが自動的に起動するようにできます。


[armadillo ~]# vi /etc/config/rc.local

#!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH

jp2=`cat /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio1_8_data`
if [ "$jp2" = "1" ]; then
        echo Booting Android...
        mount /dev/sda1 /mnt
        chroot /mnt/android /init
fi

編集してから実行権を付けてflatfsdコマンドでファイルを保存します。


[armadillo ~]# chmod +x /etc/config/rc.local
[armadillo ~]# flatfsd -s

Appendix 1: カーネルイメージのビルド

本 Howto で使用した Linux カーネルイメージを生成するためのパッチは以下から入手することができます。

Linuxカーネルパッチ (ver 081210)

カーネルパッチは、linux-2.6.26-at1 との差分です。変更点の確認などにご利用ください。

ソースコードアーカイブからイメージをビルドするには、作業用 PC で以下のようにコマンドを実行します。


[PC ~]$ tar xzf linux-2.6.26-at1.tar.gz
[PC ~]$ cd linux-2.6.26-at1
[PC ~]$ patch -p1 < ../linux-2.6.26-at-android-tmp-081210.patch
[PC ~]$ make armadillo500fx_dev_android_defconfig
[PC ~]$ make && gzip -c arch/arm/boot/Image > ./linux-a500-fx-android.bin.gz

linux-a500-fx-android.bin.gz がカーネルイメージです。

カテゴリ: