bc10/TI-Android-FroYo-Devkit-V2 †
主な特徴 †TI-Android-FroYo-Devkit-V2 は、OMAP35x EVM, AM35x EVM, AM37x EVM, Beagleboard Rev Cx, Beagleboard XM ファイルの取得 †TI-Android-Froyo-Devkit-V2 の取得方法を記載します。 $ tar xvfz TI_Android_FroYo_DevKit-V2.tar.gz Android のソースファイルを取得するのためにTI-Android-FroYo-DevKit-V2.xml を使用します。 $ cd ~/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/ $ mkdir rowboat-android $ cp TI-Android-FroYo-DevKit-V2.xml rowboat-android $ cd rowboat-android $ repo init -u git://gitorious.org/rowboat/manifest.git -m TI-Android-FroYo-DevKit-V2.xml $ repo sync bc10 用 DevKit V2 patch †bc10 用 TI-Android-Froyo-Devkit-V2 の patch を添付します。 bc10-devkitV2-patch.sh 内のANDROID_DIR 、SETUP_DIR、 PATCH_DIRは以下のように設定しています。 ### Settings #ANDROID_DIR=${HOME}/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android ANDROID_DIR=${HOME}/bc10-Devkit2-Build-Dir-test2 SETUP_DIR=${HOME}/devkitv2-patches-for-bc10 PATCH_DIR=${SETUP_DIR}/patches patch 適用後、 device/ti 以下に bc10 ディレクトリが作成されます。 $ tar xvfz devkitv2-patches-for-bc10.tar.gz $ cd ~/devkitv2-patches-for-bc10 $ ./bc10-devkitV2-patch.sh $ ls ~/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/device/ti am3517evm bc10 beagleboard igepv2 omap3evm Android のビルド †bc10 用設定ファイルを読み込みビルドします。 $ cd ~/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/ $ source build/envsetup.sh $ lunch bc10-eng $ make イメージの作成 †ビルドが終了したらビルドされた userland のバイナリを起動可能な配置に整えます。 ### Settings #ANDROID_DIR=${HOME}/bc10 ANDROID_DIR=${HOME}/bc10-Devkit2-Build-Dir-test2 #ANDROID_DIR=${HOME}/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android ### $ cd ~/devkitv2-patches-for-bc10 $ ./mkbc10-image.sh 実行後、/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/out/target/product/bc10/ に 環境変数の設定 †boot に必要な x-loader、u-boot、kernel は Android のソースコードと共に配布されている $ export PATH=/home/beat/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin:${PATH} $ export ARCH=arm $ export CROSS_COMPILE=arm-eabi- kernel のビルド †$ cd ~ $ git clone git://gitorious.org/~bc-dev/rowboat/bc10-rowboat-kernel.git bc10-rowboat-kernel $ cd bc10-rowboat-kernel $ git checkout -t -b bc10-2.6.32-build origin/bc10-2.6.32-build $ make omap3_bc10_defconfig $ make uImage $ make modules SGX SDK のビルド †bc10/froyo と同じ手順で TI Android SGX SDK を取得します。 $ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git $ cd ti_android_sgx_sdk/ $ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin
Rules.make の変更 †Rules.make のHOME、GRAPHICS_INSTALL_DIR、ANDROID_ROOT、CSTOOL_DIR、 $ cd ~/OMAP35x_Android_Graphics_SDK_3_01_00_03 $ vi Rules.make #Rules.make PLATFORM=LinuxOMAP3 ################# FIELDS MODIFIABLE BY THE USER ############################# ## #set home area HOME (relative location for all SDK operations) HOME=/home/beat #Current Directory where Graphics SDK is installed GRAPHICS_INSTALL_DIR=$(HOME)/OMAP35x_Android_Graphics_SDK_3_01_00_03 #Android Specific #Path of Android Root FS ANDROID_ROOT=$(HOME)/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/out/target/product/bc10/bc10-image #set toolchain root path for arm-eabi CSTOOL_DIR=$(HOME)/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/ CSTOOL_PREFIX=arm-eabi- CSTOOL_PATH=$(CSTOOL_DIR)/bin CSTOOL_LIBSTDC++_PATH=$(CSTOOL_DIR)/arm-none-linux-gnueabi/libc/usr/lib #set the kernel installation path #KERNEL_INSTALL_DIR=$(HOME)/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/kernel KERNEL_INSTALL_DIR=$(HOME)/bc10-rowboat-kernel TARGETFS_INSTALL_DIR=$(ANDROID_ROOT) GFX_TARGETFS_KERMOD_PATH=$(TARGETFS_INSTALL_DIR)/lib/modules/2.6.32 #Android ANDROID_DISCIMAGE=$(TARGETFS_INSTALL_DIR)/ RULE.make 変更完了後 make、make install を実行します。 $ make $ make OMAPES=3.x install bc10 u-boot ビルド †$ cd ~/ $ git clone git://gitorious.org/bc10/u-boot-bc10.git u-boot-bc10 $ cd u-boot-bc10 $ git checkout -t -b build origin/build $ make omap3_bc10_config $ make bc10 x-loader ビルド †$ cd ~/ $ git clone git://gitorious.org/~bc-dev/x-load-omap3/x-load-bc10.git x-load-bc10 $ cd x-load-bc10 $ git checkout -t -b bc10 origin/bc10 $ make omap3530bc10_config $ make x-load.binはOMAP BootROMの仕様とフォーマットが合っていないので、このままNAND Flashや $ signGP x-load.bin bc10 boot.scr について †2010/12/20 setenv bootargs 'mem=256M androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init rootwait omapdss.def_disp=lcd'
setenv bootargs 'mem=256M androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init rootwait omapfb.mode=dvi:1024x768MR-24@60 omapdss.def_disp=dvi'
Android 起動時の build.prop †デフォルトの表示デバイスro.sf.lcd_density は 120 に設定しています。 $ cd ~/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/out/target/product/bc10/bc10-image/system $ vi build.prop (略) ro.sf.lcd_density=120 Performance_Apps の導入について †このPerformance_Apps の導入については必須ではありません。 TI_Android_DevKit 02_00_00 Product Download Page $ wget http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/exports/Performance_Apps.tar.gz $ tar xvfz Performance_Apps.tar.gz $ cd Performance_Apps $ vi install_rowboperf.sh install_rowboperf.sh を実行時にエラーが発生します、以下のように修正をします。 *** 13,18 **** --- 13,19 ---- echo "Error: Rootfs location `basename $1` does not exist" exit $E_BADARGS fi + cd - echo "Rootfs location is $1" 完了後Androidのユーザランドを指定してスクリプトを実行します。 $ ./install_rowboperf.sh ~/TI_Android_FroYo_DevKit-V2/Android_Source_Manifest/rowboat-android/out/target/product/bc10/bc10-image install_rowboperf.sh で追加されるapk と削除される apk は以下のとおりです。 cp -r ./0xbench/Benchmark-release.apk $1/system/app/ cp -r ./0xbench/armeabi/* $1/system/bin/ cp ./3D/OGLES* $1/system/app/ cp ./3D/lib* $1/system/lib/ cp ./StorageIO/StorageIO.apk $1/system/app/ cp ./rowboatBench/rowboat.benchmark.runner-debug.apk $1/system/app/ cp -r ./RowboPERF/bin/armeabi-v7a/* $1/system/bin/ cp ./RowboPERF/RowboPERF.apk $1/system/app/ cp ./StorageIO/StorageIO.apk $1/system/app/ cp ./Launcher2/Launcher2.apk $1/system/app/ rm $1/system/app/Contacts.apk rm $1/system/app/Mms.apk rm $1/system/app/SpeechRecorder.apk CameraPreview Overlayについて †
制限事項 †
|