Armadillo-500 FXでAndroidを簡単に試す方法を紹介します。動作させる手順は下記のようになります。
- USB SSDを初期化する
- AnrdoidをSSDにコピーする
- カーネルを書き換える
- ユーザランドを書き換える
- Anrdoidを起動してみる
- 起動時にAndroidを自動的に起動させる
本 Howto で動作させる Android のバージョンは 1.0 です。
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 https://download.atmark-techno.com/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 https://download.atmark-techno.com/misc/android/linux-a500fx-android-tmp-081210.bin.gz
4. ユーザランドを書き換える
出荷状態でデモアプリケーションが液晶パネルで表示されるようになっています。Androidを起動できるようにデモアプリケーションが起動しないAtmark Distユーザランドをフラッシュメモリに書き込みます。
[armadillo ~]# netflash -nkur /dev/flash/nor.userland https://download.atmark-techno.com/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
ソースコードアーカイブからイメージをビルドするには、作業用 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 がカーネルイメージです。