ブログネタ
Android に参加中!
OrigenBoard をいじる環境をやっと作ったのでメモ。
OrigenBoard の概要
OrigenBoard-spec


ソースやバイナリを公開しているところ
AESOPhttp://www.aesop.or.kr
OrigenBoard 購入時に付いていた SD に入っているイメージを配布してるところだと思う。
ダウンロード URL:http://www.aesop.or.kr/?document_srl=442271

Insignalhttp://git.insignal.co.kr/
8/10 時点ではリポジトリを色々といじってるようなので、ダウンロード出来ず。
今後はここがメインになると思う。


Android 環境構築&ビルド手順
必要なファイルのダウンロード
$ wget http://www.origenboard.org//files_/util/origen_uboot_dump.img
$ wget http://www.origenboard.org//files_/util/origen_uboot_fuse.sh
$ wget http://www.codesourcery.com/sgpp/lite/arm/portal/package5383/public/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
$ wget http://www.origenboard.org//files_/source/u-boot-origen.tar.gz
$ wget http://www.origenboard.org//files_/source/origen-kernel.tar.gz
$ wget http://www.origenboard.org//files_/source/origen-android.tar.gz

ソースの展開と環境変数登録
$ mkdir ~/OrigenBoard
$ cd ~/OrigenBoard
$ export ANDROID=$PWD
$ tar zxvf u-boot-origen.tar.gz
$ tar zxvf origen-kernel.tar.gz
$ tar zxvf origen-android.tar.gz
$ sudo tar jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt/
$ export ARCH=arm
$ export CROSS_COMPILE=/opt/arm-2009q3/bin/arm-none-linux-gnueabi-

u-boot のビルド
$ cd $ANDROID/u-boot-origen
$ make distclean
$ make origen_android_config
$ make -j8

linux kernel のビルド
の前に Makefile 編集
--- Makefile.orig 2011-08-10 17:25:48.657562837 +0900
+++ Makefile 2011-08-10 17:25:59.617562835 +0900
@@ -190,7 +190,7 @@
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= arm
#CROSS_COMPILE ?= /usr/local/arm/arm-2010.09/bin/arm-none-linux-gnueabi-
-CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
+#CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)

# Architecture as present in compile.h

$ cd $ANDROID/kernel
$ make distclean
$ make origen_android_defconfig
$ make zImage -j8

Android のビルド
の前に build_android.sh 編集
--- build_android.sh.orig 2011-08-10 14:54:58.679532143 +0900
+++ build_android.sh 2011-08-10 14:55:26.159532155 +0900
@@ -6,7 +6,8 @@
CLIENT=$(whoami)

ROOT_DIR=$(pwd)
-KERNEL_DIR="$ROOT_DIR/../android-kernel-samsung-dev"
+#KERNEL_DIR="$ROOT_DIR/../android-kernel-samsung-dev"
+KERNEL_DIR="$ROOT_DIR/../kernel"

#SEC_PRODUCT='generic' #Enable for generic build
SEC_PRODUCT='smdkc210' #Enable for smdk build

$ cd $ANDROID/android
$ bash build_android.sh


イメージの書き込み
SD カードにブートローダ、環境変数、u-boot を書き込む
$ cd $ANDROID
$ chmod a+x origen_uboot_fuse.sh
$ sudo ./origen_uboot_fuse.sh origen_uboot_dump.img /dev/sdf
/dev/sdf は私の環境での例。
書き込みたい SD デバイスを指定する。

ターゲット上での操作
OrigenBoard に SD を入れて電源を入れる。
ORIGEN #
fastboot を実行
ORIGEN # fastboot

fastboot を使用したイメージの書き込み(PC からの操作)
PC と OrigenBoard を USB ケーブルで繋いで実行。
$ cd $ANDROID
$ fastboot flash bootloader u-boot-origen/u-boot.bin
$ fastboot flash kernel kernel/arch/arm/boot/zImage
$ fastboot flash ramdisk android/out/target/product/smdkc210/ramdisk-uboot.img
$ fastboot flash system android/out/target/product/smdkc210/system.img

ターゲット上での操作
Ctrl + C で fastboot を終了する。

data、cache、SDカード領域のフォーマット
ここまでの時点での SD カードの状態はこのようになる。
Screenshot--dev-sdf - GParted-1

/dev/sdf1 を FAT、/dev/sdf3 と /dev/sdf4 を ext4 でフォーマットする。
Screenshot--dev-sdf - GParted-2

この状態にして、OrigenBoard に SD を入れて電源を入れると Android が起動する。
device-2011-08-10-162814

かなり快適に動作するので、Quadrant で測定してみた。
device-2011-08-10-155101

今度 PandaBoard と比較してみようと思う。