android 2.2.2 (Froyo) on NetWalker : 工学院大学 金丸研究室
ナビゲーション
工学院大学 金丸研究室

情報システム 画像処理システム
強化学習によるロボット制御
bb_android
本ページでは、Sharp 製の NetWalker に android 2.2.2 (Froyo) を 移植する方法をまとめます。

ベースとしては androidzaurus さんの Android on NetWalker (1.6 の移植) や
sola さんによるBeagleBoard に Froyo をのせる
を参考にさせて頂いております。
有益な情報を公開してくださっている androidzaurus さんと sola さんに感謝致します。

なお、repo のインストールなど、android のビルド環境の構築についての解説は省略しますので、
他のサイトを御参考ください。
なお、Froyo のビルドには JDK 1.5 が必要ですので注意して下さい。通常、ここから落とします。

更新履歴
2011.7.26: スリープ復帰後でも音が鳴るよう変更。
2011.7.20: Googleトップを見てもブラウザが落ちないよう変更。カメラで画面最大化表示するよう変更。
2011.7.17: Android Bazaar and Conference 2011 Summer にて展示
2011.7.14: 公開


Android をソースからビルドできる方は「1. Android ソースのダウンロード」から御覧下さい。
とにかく試してみたいと言う方は「7. NetWalker のセットアップ」から御覧下さい。

1. Android ソースのダウンロード

Android のビルドは NetWalker では行えませんので、Ubuntu などがインストールされた PC が別途必要になります。

まず、ビルド用PCでソースのダウンロード先を決めます。以下は環境に応じて読みかえてください。
$ export ANDROID=/home/kanamaru/froyo-netwalker
次に、ソースコードをダウンロードします。
$ mkdir -p $ANDROID
$ cd $ANDROID
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.2.2_r1
$ repo sync

2. kernel のダウンロードと展開

$ cd $ANDROID
$ wget http://netbook-remix.archive.canonical.com/updates/pool/public/l/linux-fsl-imx51/linux-fsl-imx51_2.6.28-15.50fsl1araneo19.tar.gz
$ tar zxf linux-fsl-imx51_2.6.28-15.50fsl1araneo19.tar.gz

3. androidzaurus さんのパッチのダウンロードと適用

androidzaurus / droidwalker を訪れ、パッチをダウンロードします。
「Downloads」→「Download.tar.gz」とたどり、androidzaurus-droidwalker-61b2290.tar.gz を $ANDROID ディレクトリにダウンロードします。
$ cd $ANDROID
$ tar zxf androidzaurus-droidwalker-61b2290.tar.gz
$ cd jaunty-arm
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/diff-araneo-android-2.6.28.patch
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/disable_double_buffering.patch
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/fbmem_8m.patch
$ patch -p1 < ../androidzaurus-droidwalker-61b2290/build-wifi-defconfig.patch

4. 本ページのパッチのダウンロードと適用

$ cd $ANDROID
$ wget http://brain.cc.kogakuin.ac.jp/research/files/vendor_tk-netwalker-froyo2.2.x-20110726.tar.gz
$ tar zxf vendor_tk-netwalker-froyo2.2.x-20110726.tar.gz
$ $ANDROID/vendor/tk/patch/tk_patch.sh

5. カーネルのビルド

$ cd $ANDROID/jaunty-arm
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- netwalker_android_defconfig
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- zImage modules
$ANDROID/jaunty-arm/arch/arm/boot/zImage が必要なファイルになります。
ビルド済みのものをテスト用にこちらに用意しました。

6. android のビルド

$ cd $ANDROID/
$ source build/envsetup.sh
$ lunch netwalker-eng
$ make -j8
ビルドが完了したら、
$  $ANDROID/vendor/tk/netwalker/image/netwalker-image.sh
(パスワードを一度要求されます) $ANDROID/vendor/tk/netwalker/image/froyo というディレクトリができます。 これが android のシステムのディレクトリとなります。
ビルド済みのものをテスト用にこちらに用意しました。

7. NetWalker のセットアップ

ここから先は、上でビルドした kernel (zImage) とAndroid システムが必要になります。

ビルドせずに試してみたいと言う方は、 こちらの zImageこちらの froyo2.2.2.tgz を利用して下さい。

NetWalker に gparted をインストールし、SD カードのパーティションを切ります。
gparted のインストールは sudo apt-get install gparted ですが、それが失敗したら、
gparted_0.4.3-0ubuntu1_armel.deb をネット上で探して
dpkg -i gparted_0.4.3-0ubuntu1_armel.deb して下さい。
$ sudo gparted /dev/mmcblk0
を実行します。パーティションは2つ必要で、 のように設定します。

終わったら、一度SD カードを抜き差ししてマウントします。
そして、下記の手順でインストールしていきます。作業はホームディレクトリなど、読み書き権限のある所で行います。 主な仕様を以下にまとめます。 最後に、参考にさせて頂いたページをまとめます。皆様に感謝致します。