概要
IGEPv2 に Froyo をのせる。
android-2.2_r1.1 を使用して確認しています。
Linux Kernel は rowboat の 2.6.32 をベースに手を入れてます。
TI's Android SGX SDK を使用しています。
1. 準備
IGEPv2 を用意。
Android ソースコードのダウンロード先を定義する。
ここは環境に応じて変える。以下は一例。
$ export ANDROID=/home/sola/android/omap3-droid
以降、$ANDROID を Android ソースコードのダウンロード先として扱う。
2. Android ソースコードのダウンロード
$ mkdir -p $ANDROID
$ cd $ANDROID
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.2_r1.1
local_manifest.xml を追加。
ALSA 関連のファイルを追加します。
$ emacs .repo/local_manifest.xml
local_manifest.xml の内容
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="external/alsa-lib" name="platform/external/alsa-lib" revision="froyo"/>
<project path="external/alsa-utils" name="platform/external/alsa-utils" revision="froyo"/>
<project path="hardware/alsa_sound" name="platform/hardware/alsa_sound" revision="froyo"/>
</manifest>
local_manifest.xml を保存後、以下を実行。
$ repo sync
ダウンロード完了まで待つ。
3. BeagleBoard 用の変更ファイル、追加ファイルを適用する
$ cd $ANDROID
$ wget http://android-development-environment.googlecode.com/files/vendor_sola-omap3-froyo.tar.gz
$ mkdir vendor
$ tar zxvf vendor_sola-omap3-froyo.tar.gz -C $ANDROID/vendor/
$ $ANDROID/vendor/sola/omap3/patch/omap3-patch.sh
4. kernel をビルドする
$ cd $ANDROID
$ wget http://sola-dolphin-1.net/data/android/IGEPv2/kernel_igepv2.rowboat.tar.bz2
$ tar jxvf kernel_igepv2.rowboat.tar.bz2
$ cd $ANDROID/kernel-igepv2
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- sola_igep0020_android_defconfig
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- uImage modules -j8
$ANDROID/kernel-igepv2/arch/arm/boot/uImage
が作成される。
5. Android をビルドする
$ cd $ANDROID
$ source build/envsetup.sh
$ lunch igepv2-eng
$ make -j8
6. BeagleBoard にのせるイメージを作成する
$ cd $ANDROID
$ $ANDROID/vendor/sola/omap3/image/igepv2-image.sh
$ANDROID/vendor/sola/omap3/image/igepv2/android
が作成される。
7. TI's Android SGX SDK を組み込む
$ cd $ANDROID
$ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git TI_Android_SGX_SDK
$ cd TI_Android_SGX_SDK
$ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin
インストール先はどこでも良い。
ここでは、OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin を実行したディレクトリを指定する。
インストール完了後、Rules.make を編集します。
以下の5項目を直してください。
※直した後の状態を書いてあります。
HOME=$(ANDROID)
GRAPHICS_INSTALL_DIR=$(ANDROID)/TI_Android_SGX_SDK
ANDROID_ROOT=$(ANDROID)/vendor/sola/omap3/image/igepv2/android
CSTOOL_DIR=$(ANDROID)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/
KERNEL_INSTALL_DIR=$(ANDROID)/kernel-igepv2
編集後、
$ cd $ANDROID/TI_Android_SGX_SDK
$ make
$ make install OMAPES=3.x
$ANDROID/vendor/sola/omap3/image/igepv2/android に必要なファイルがコピーされる。