[Android][Armadillo-FX] Armadilloをセットアップする

Armadilloの接続

ラボには無線LANしかないので、まずは、シリアルポートとUSBメモリだけでセットアップしてみる。
NotePCで、シリアルポートがないので、USBとシリアルの変換ケーブルを用意した。
http://www.sanwa.co.jp/product/syohin.asp?code=USB-CVRS9
Windows上のターミナルエミュレータで接続するので、TeraTermをダウンロードして、インストール。
http://sourceforge.jp/projects/ttssh2/

ポート: COM6
ボーレート: 115200
データ: 8bit
パリティ: none
ストップ: 1bit
フロー制御: none

接続後、電源を入れると無事に起動のログが表示される。

オリジナル情報

Armadilloに、Androidを入れるために、以下のページを参考に作業する。
http://armadillo.atmark-techno.com/howto/try-android-on-armadillo

ダウンロード

まずは、上記のページから、以下の3つのファイルをダウンロードしておく。

ファイルシステムの作成

USB SSDを初期化して、ファイルシステムを作る。

# 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 -j /dev/sda1
# mount /dev/sda1 /mnt/

Androidユーザーランドの展開

  • AndroidのユーザーランドをUSBメモリーに入れて、ArmadilloのUSBポートに接続して、マウントして、コピーする
# mkdir /usb
# mount /dev/sdb1 /usb
# cp /usb/androi~1.gz /mnt
# cd /mnt
# tar zxf androi~1.gz

LinuxカーネルとArmadilloユーザーランドの書き換え

ネットワークを使わずに、hermit-at-winを使用して、カーネルとユーザーランドを書き換える。

  • ジャンパーピン4(JP4)をショートして、リセット。
    • シリアルポートにhermitのプロンプトがでていることを確認して、ターミナルを閉じる。
  • Armadilloに付属のLinuxCDに含まれるhermit-at-winを展開して、起動する。
    • E:\downloader\win32\hermit-at-win_20081014.zipをC:\Users\kinami\workspaceに展開
    • C:\Users\kinami\workspace\hermit-at-win\hermit.exeを実行
  • カーネルイメージの書き換え
    • Serial Port: COM6
    • Download
    • Image: linux-a500fx-android-tmp-081030.bin.gz
    • Region: Kernel
  • Armadilloユーザーランドの書き換え
    • Serial Port: COM6
    • Download
    • Image: romfs-a500fx-android-tmp-081030.img.gz
    • Region: userland
  • JP4をはずして、リセットすると、ペンギンマークの画面で起動する。

Androidの起動

  • rootでログインして、以下のコマンドでAndroidが起動する
# mount /dev/sda1 /mnt
# chroot /mnt/android /init

無事に起動!

  • ジャンパー2(JP2)が"CLOSE"(ピンがささっている状態)のときに、Androidが起動すように設定
# 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" = "0" ]; then
        echo Booting Android...
        mount /dev/sda1 /mnt
        chroot /mnt/android /init
fi
  • ジャンパーピンをJP2にさして起動すると、Androidが起動する

できた!