android 4.0.3 (ICS: Icecream Sandwich) on NetWalker : 工学院大学 金丸研究室
ナビゲーション
工学院大学 金丸研究室

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

android 2.x のインストール法は左のナビゲーションからたどって下さい。

ベースとしては androidzaurus さんの Android on NetWalker (1.6 の移植)
および sola さんのブログ (主に2011年11,12月のエントリ) を参考にさせて頂いております。
有益な情報を公開してくださっている androidzaurus さんと sola さんに感謝致します。

なお、repo のインストールなど、android のビルド環境の構築についての解説は省略しますので、
他のサイトを御参考ください。
なお、ICS のビルドには JDK 1.6 と 64bit OS が必要ですので注意して下さい。

更新履歴
2012.1.6: 公開


ics_netwalker2s

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

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

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

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

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

$ cd $ANDROID_ROOT
$ 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_ROOT ディレクトリにダウンロードします。
$ cd $ANDROID_ROOT
$ 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_ROOT
$ wget http://brain.cc.kogakuin.ac.jp/research/files/ics/device_tk-netwalker-ics4.0.3-20120102.tgz
$ tar zxf device_tk-netwalker-ics4.0.3-20120102.tgz
$ $ANDROID_ROOT/device/tk/netwalker/patch/tk_patch.sh

5. カーネルのビルド

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

6. android のビルド

$ cd $ANDROID_ROOT/
$ export ARCH=arm
$ export CROSS_COMPILE=$ANDROID_ROOT/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
$ export PATH=$PATH:$ANDROID_ROOT/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
$ source build/envsetup.sh
$ lunch full_netwalker-eng
$ make -j8
ビルドが完了したら、
$  $ANDROID_ROOT/device/tk/netwalker/image/netwalker-image.sh
$ANDROID_ROOT/device/tk/netwalker/image/ics というディレクトリができます。 これが android のシステムのディレクトリとなります。
ビルド済みのものをテスト用にこちらに用意しました。

7. NetWalker のセットアップ

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

ビルドせずに試してみたいと言う方は、 こちらの zImageこちらの ics4.0.3-20120102.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 カードを抜き差ししてマウントします。
そして、下記の手順でインストールしていきます。作業はホームディレクトリなど、読み書き権限のある所で行います。
wget http://mit.sharp.co.jp/os.tar.bz2
sudo tar xf os.tar.bz2 -C /media/rootfs
sudo gedit /media/rootfs/etc/udev/rules.d/70-persistent-net.rules 
sudo mv /media/rootfs/etc/rc2.d/S01upfirm  /media/rootfs/etc/rc2.d/~S01upfirm
sudo gedit /media/rootfs/boot/boot.conf
wget http://brain.cc.kogakuin.ac.jp/research/files/ics/zImage
sudo cp zImage /media/rootfs/boot/
sudo mkdir /media/rootfs/android
wget http://brain.cc.kogakuin.ac.jp/research/files/ics/ics4.0.3-20120102.tgz
sudo tar zxf ics4.0.3-20120102.tgz -C /media/rootfs/android
sudo gedit /media/rootfs/etc/rc.local
sudo umount /media/*
sudo poweroff
主な仕様を以下にまとめます。 最後に、参考にさせて頂いたページをまとめます。皆様に感謝致します。