Embedded Master 1


Embedded Master 1(プロジェクトコード:Blueberry)はOESFのAndroidをベースとした組込みシステム向けディストリビューションの最初のバージョンです。Androidにはない各種機能が拡張されています。ベースとなるAndroidはVersion 1.6となります。 このドキュメントはEmbedded Master 1の構築方法について解説しています。

Embeded Master 1(Project Code:Blueberry) is the first distribution package that is focus to build Android based embedded system. This distribution include some additional functions that are not implemented in original Android. The base Android version is 1.6 This document describe how to build Embedded Master 1. on your PC.

拡張機能(Extended Functions)

Embedded Master 1では以下の機能が拡張されています。
Embedded master 1 include the following extended functions.
IP Phone Extension
 ※ Not included in the first release, this will come until public release.
 SIP電話を利用するための設定、変更(SIP stack and its configuration)
 P2PによるSIP電話機能(SIP telephony manager to realize SIP based VoIP communication)
Bluetooth Extension
 SPP(Serial Port Profile)
 DUN(Dial-Up Network Profile)
 HID(Human Interface Device Profile)
Pointing Device Extension
 マウスカーソルの表示、およびホイールイベントの取得
User Interface Extension
 ランチャーアプリケーション(New Application Luncher)
 メディアプレーヤー(Media Player)
DLNA Extension
※ Not included in the first release, this will come until public release.

デモ(Demos)

Embedded Master 1で拡張された機能のデモをビデオでご覧いただけます。
You can see the video demos those are extended in Embedded Master 1.
EM1 function Demo at ET2009 EM1 SIP VoIP Demo at ET2009

ターゲットハードウェア(Target Hardware)

Embedded Master 1は以下のハードウェアをターゲットとして構築されています。
Embeded Master 1's target hardware platform is listed below.

Device Name Procuced by App. Processor CPU
Armadillo-500 FX Atmark Techno Freescale i.MX31 ARM1136JF-S
RMI Alchemy™ Home Media Player™ RMI RMI Alchemy® Au1250® Processor Enhanced MIPS32® CPU Core
BeagleBoard Texas Instruments OMAP 3530 ARM Coretex A8

What's in the source?

For a description of all the projects that make up the Embedded Master source code, see Project layout. To see the files available in the public Embedded Master repositories, visit the OpenGrok web interface.

The source is approximentely 2.5GB in size. You will need 6GB free to complete the build.

EM1リポジトリ(EM1 repositories)

Embeded Master 1のリポジトリは以下のURLで公開しています。
Embedded Master(EM)'s main repositories are located the following URL.


ssh://gitosis@dev.oesf.biz/

ソースコードの取得(How to get source code)

EM1リポジトリからソースコードを取得します。取得する前に、ターゲット毎に以下の環境変数を設定してください。なお、この設定はご利用の環境により異なります。
Downloadt source code from EM1 repositories.Before to start download, you have to set the following environment variables. This setting is depend on your computer envirnment.

■ For Armadillo500fx and BeagleBoard

$ export ANDROID=/home/oesf/em1

■ For MIPS

$ export ANDROID-MIPS=/home/oesf/em1-mips


次にRepoコマンドによりソースコードをダウンロードします。
Use repo command to start download.

■ For Armadillo500fx and BeagleBoard

$ cd $ANDROID
$ repo init -u ssh://gitosis@dev.oesf.biz/manifests -b blueberry
$ repo sync
$ repo start --all blueberry

■ For MIPS

$ cd $ANDROID-MIPS
$ repo init -u ssh://gitosis@dev.oesf.biz/manifests-mips -b blueberry
$ repo sync
$ repo start --all blueberry

ビルド方法(Build procedure)

ソースコードの取得が完了したら、以下のコマンドでEM1をビルドします。
After getting source code, use the following commands to builde EM1.
■ For Armadillo500fx
i)Build a kernel

$ cd $ANDROID/kernel/arm/imx/armadillo-500fx
$ make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- armadillo500fx_dev_android_defconfig
$ make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- zImage
$ make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- modules

ii)Copy drivers

$ cp drivers/net/wireless/rt2x00/*.ko $ANDROID/vendor/atmark-techno/armadillo500fx

iii)Build Android

$ cd $ANDROID
$ source ./build/envsetup.sh
$ choosecombo 1 1 armadillo500fx 3
$ make

■For BeagleBoard
i)Build a kernel

$ cd $ANDROID/kernel/arm/omap/omap-common
$ make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- omap3_beagle_android_defconfig
$ make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- uImage
$ make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- modules

ii)Copy drivers

$ cp drivers/net/wireless/rt2x00/*.ko $ANDROID/vendor/ti/omap3beagle

iii)Build Android

$ cd $ANDROID
$ source ./build/envsetup.sh
$ choosecombo 1 1 omap3beagle 3
$ make

■For MIPS
i)Build Android

$ cd /opt
$ sudo tar xvzf $ANDROID-MIPS/vendor/rmi/support-tools/mips-4.3.tar.gz
$ mips-4.3/bin/mips-linux-gnu-gcc -v

$ cd $ANDROID-MIPS
$ export TARGET_PRODUCT=hmp10
$ export TARGET_ARCH_VERSION=mips32
$ export TARGET_ARCH=mips
$ make