bc10/TI-Android-GingerBread-2.3-DevKit-1.0
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
]
開始行:
[[bc10]]
~
#contents
~
* bc10/TI-Android-GingerBread-2.3-Devkit-1.0 [#pd6dc9a3]
~
2011年4月1日、TI-Android-GingerBread-2.3-Devkit-1.0 がリ...
~
rowboat project Blog のアナウンス~
[[http://arowboat.wordpress.com/2011/04/01/ti-android-gin...
~
このページでは TI-Android-GingerBread-2.3-Devkit-1.0 を b...
~
* 主な特徴 [#g21c8b3e]
TI-Android-GingerBread-2.3-Devkit-1.0 は、beagleboard など~
TI の ARM SoC、AM1808、OMAP35x、AM35x、AM37x、AM389x、DM3...
Android の Gingerbread branch です。~
~
詳細な情報は以下の URL をご覧ください。~
[[TI-Android-GingerBread-2.3-DevKit-1.0 ReleaseNotes>http...
[[TI-Android-GingerBread-2.3-DevKit-1.0 DeveloperGuide>ht...
[[TI-Android-GingerBread-2.3-DevKit-1.0 UserGuid>http://p...
* 作業手順 [#ka340234]
作業の流れは以下のとおりです。~
+ ビルドを実行する環境の作成
+ ソースコード取得
+ bc10-kernel と USB wifi 用 kernel module のビルド
+ bc10用変更の追加
+ ビルド
+ SGX SDK のインストール
+ SDカードへの書き込み
COLOR(red){調整のため予告無く更新することがあります。予め...
* ビルド環境作成 [#w4edb4d1]
今回の環境は以下のようになります。~
-OS: Ubuntu 10.04(64bit版)~
-JAVA: java 1.6x ~
-Android Version: TI-Android-GingerBread-2.3-DevKit-1.0 ...
COLOR(red){Android 2.3(codename : Gingerbread)以降をビ...
環境の構築は、[[Android Open Source Project の "Getting t...
"Setting up your machine" の項の手順に従って行います。
** java6 [#g91d799b]
以下のコマンドで ubuntu のリポジトリから sun java6 のパッ...
$ sudo add-apt-repository "deb http://archive.canonical....
$ sudo add-apt-repository "deb-src http://archive.canoni...
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
$ sudo update-java-alternatives -s java-6-sun
** パッケージインストール [#t10e0e6c]
以下のコマンドで ubuntu のリポジトリから必要なパッケージ...
(実際は一行ですが、shell の改行バックスラッシュで途中で...
$ sudo apt-get install git-core gnupg flex bison gperf b...
gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5...
x11proto-core-dev libx11-dev lib32readline5-dev lib32z...
* android ソースコード取得 [#nea0dd19]
** repo 設定 [#o0b0c850]
android のソースコードを取得するため repo の設定を行いま...
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
ubuntu を使っている場合は一旦ログアウトしてログインし直せ...
ログアウトせずそのまま作業したい場合は、以下のようにして ...
$ export PATH=~/bin:$PATH
** repo 初期化 [#y1d65e4e]
まず以後の作業すべてをその中で行う作業用ディレクトリを作...
$ cd ~/
$ mkdir bc10
$ cd bc10
このディレクトリ内に TI-Android-GingerBread-2.3-DevKit-1....
そこで repo init を実行します。~
(このディレクトリ名は任意です。2.3-DevKit などといった短...
変更した場合には以降の記述の PATH を自分の設定で読み替...
$ mkdir TI-Android-GingerBread-2.3-DevKit-1.0
$ cd TI-Android-GingerBread-2.3-DevKit-1.0
$ repo init -u git://gitorious.org/rowboat/manifest.git ...
** repo sync [#i804a5a7]
repo init の実行後、 repo sync を実行し DevKit のソースコ...
$ repo sync
約6GB のファイルをダウンロードしますので回線速度に応じて...
* kernel ビルド [#fed99519]
android の UI からの Wifi on/off に対応するためには~
android の userland 内に USB wifi 用の kernel module を配...
配置は android のビルド時に行われますので、ビルドを行う前...
この USB wifi の kernel module のビルドには~
ビルド実行済みの kernel ソースツリーが必要になるため、~
bc10 用 kernel を最初にビルドします。
**環境変数設定 [#x363e564]
boot に必要な x-loader、u-boot、kernel は全て android の...
cross toolchain を使用してビルドします。~
ここでは、bc10/TI-Android-GingerBread-2.3-DevKit-1.0/preb...
~
ビルド時にこの toolchain を使って cross compile が行われ...
PATH は各自の環境に合わせて変更してください。~
$ export PATH=/home/beat/bc10/TI-Android-GingerBread-2.3...
$ export ARCH=arm
$ export CROSS_COMPILE=arm-eabi-
** kernel [#m4983c49]
$ cd ~/bc10/
$ git clone git://gitorious.org/~bc-dev/rowboat/bc10-row...
$ cd ~/bc10/bc10-rowboat-kernel/
bc10向けリリースブランチに切り替えます。~
$ git checkout -t -b bc10-2.6.32 origin/bc10-2.6.32
$ make omap3_bc10_defconfig
$ make uImage
$ make modules
ビルド完了後以下のディレクトリに uImage が作成されます。~
(USB wifi 以外の kernel module を使用しない場合には、最...
$ ls ~/bc10/bc10-rowboat-kernel/arch/arm/boot/
Image Makefile bootp compressed install.sh uImage ...
* USB Wifi (RT3070USB) ドライバー ビルド [#qef844a3]
USB Wifi に対応するため RT3070USB のドライバーを追加しま...
動作を確認したデバイスは以下のものです。~
LEFT:
| メーカー | 型番 | Vendor ID | Device ID | 備考 |h
| PLANEX | [[GW-USMicroN-G>http://www.planex.co.jp/produ...
| Logitec | [[LAN-W150N/U2IPH>http://www.pro.logitec.co.j...
| Logitec | [[LAN-W150N/U2BK>http://www.pro.logitec.co.jp...
| Buffalo | [[WLI-UC-GNM>http://buffalo.jp/product/wirele...
| Buffalo | [[WLI-UC-G301N>http://buffalo.jp/products/cat...
| Buffalo | [[WLI-UC-GN>http://buffalo.jp/products/catalo...
ここでは、RT3070USB を使用している上記 USB Wifi の使用を...
~
ドライバーは [[RALINK Web>http://www.ralinktech.com/suppo...
2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO.tar.bz2 を...
~
ソースコードの入手には上記 web ページからのメールアドレス...
ダウンロードしたファイルは /home/beat/bc10/ に置いて作業...
~
ビルドには上記 kernel ビルド時に使用したのと同じ TI-Andro...
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/ の cross...
~
以下の patch を当てることで bc10 向けにクロスコンパイルで...
変更内容は、~
・bc10 向けのコンパイル設定の追加(platform、toolchain の...
・ファームウェアのリージョン設定を日本にし、設定項目例を...
・USB Wifi のベンダーID、製品IDの追加~
です。~
#ref(2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO.tar.b...
#ref(RT3070-2.5.0.1.diff)~
差分は修正後のソースを 2011_0107_RT3070_RT3370_Linux_STA_...
diff -urN 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO...
で取得しました。
注:下記のLINUX_SRCとCROSS_COMPAILEのPATHはご使用の環境に...
RT3070-2.5.0.1.diffでは以下のように設定しています。~
+LINUX_SRC = /home/beat/bc10/bc10-rowboat-kernel
+CROSS_COMPILE = /home/beat/bc10/TI-Android-GingerBread-...
・bc10 用設定の追加
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/Makef...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -23,7 +23,8 @@
RTMP_SRC_DIR = $(RT28xx_DIR)/RT$(CHIPSET)
#PLATFORM: Target platform
-PLATFORM = PC
+PLATFORM = BC10
+#PLATFORM = PC
#PLATFORM = 5VT
#PLATFORM = IKANOS_V160
#PLATFORM = IKANOS_V180
@@ -176,6 +177,11 @@
CROSS_COMPILE =
endif
+ifeq ($(PLATFORM),BC10)
+LINUX_SRC = /home/beat/bc10/bc10-rowboat-kernel
+CROSS_COMPILE = /home/beat/bc10/TI-Android-GingerBread-...
+endif
+
ifeq ($(PLATFORM),IXP)
LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux...
CROSS_COMPILE = arm-linux-
@@ -384,6 +390,9 @@
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apst...
endif
else
+ifeq ($(PLATFORM),BC10)
+ $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) ...
+else
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko ...
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta...
@@ -392,6 +401,7 @@
endif
endif
endif
+endif
release:
・リージョンコードの変更、設定例の変更
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/RT287...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -1,8 +1,8 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
-CountryRegionABand=7
-CountryCode=
+CountryRegionABand=1
+CountryCode=JP
ChannelGeography=1
SSID=11n-AP
NetworkType=Infra
@@ -18,8 +18,8 @@
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
-AuthMode=OPEN
-EncrypType=NONE
+AuthMode=authtype
+EncrypType=encrtype
WPAPSK=
DefaultKeyID=1
Key1Type=0
・Vendor_ID:Device_ID の追加
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/commo...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -104,6 +104,13 @@
{USB_DEVICE(0x13D3,0x3321)}, /* Azurewave */
{USB_DEVICE(0x07FA,0x7712)}, /* Edimax */
{USB_DEVICE(0x0789,0x0166)}, /* Edimax */
+ {USB_DEVICE(0x2019,0xED14)}, /* PLANEX added by...
+ {USB_DEVICE(0x2019,0xAB29)}, /* PLANEX added by...
+ {USB_DEVICE(0x0789,0x0164)}, /* Logitec added b...
+ {USB_DEVICE(0x0789,0x0168)}, /* Logitec added b...
+ {USB_DEVICE(0x0411,0x01a2)}, /* Buffalo added b...
+ {USB_DEVICE(0x0411,0x016f)}, /* Buffalo added b...
+ {USB_DEVICE(0x0411,0x015d)}, /* Buffalo added b...
#endif /* RT3070 */
{ }/* Terminating entry */
};
・bc10用設定の追加
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/os/li...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -11,7 +11,7 @@
HAS_XLINK=n
# Support Wpa_Supplicant
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
@@ -415,6 +415,10 @@
endif
endif
+ifeq ($(PLATFORM),BC10)
+EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -DMOD...
+endif
+
#If the kernel version of RMI is newer than 2.6.27, ple...
ifeq ($(PLATFORM),RMI)
EXTRA_CFLAGS := -D__KERNEL__ -DMODULE=1 -I$(LINUX_SRC)/...
-I$(RT28xx_DIR)/include -Wall -Wstrict-prototypes -Wno-...
-DCONFIG_IFX_ALG_QOS -DCONFIG_WAN_VLAN_SUPPORT -fomit-f...
-mno-abicalls -mlong-calls -pipe -finline-limit=100000 ...
-march=xlr -ffreestanding -march=xlr -Wa,--trap, -nost...
・GPLフラグの追加(これがないと insmod できません。)
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/os/li...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -37,6 +37,7 @@
/* Otherwise post to forum in ralinktech's web site(www...
MODULE_AUTHOR("Paul Lin <paul_lin@ralinktech.com>");
MODULE_DESCRIPTION("RT2870 Wireless Lan Linux Driver");
+MODULE_LICENSE("GPL");
#ifdef CONFIG_STA_SUPPORT
#ifdef MODULE_VERSION
MODULE_VERSION(STA_DRIVER_VERSION);
配布されているソースアーカイブは拡張子が bz2 となっている...
以下のようにアーカイブの展開、patch 後 makeを実行します。~
$ cd ~/
$ tar xvfz 2011_0107_RT3070__RT3370_Linux_STA_v2.5.0.1_D...
$ patch -p0 < RT3070-2.5.0.1.diff
$ cd 2011_0107_RT3070__RT3370_Linux_STA_v2.5.0.1_DPO/
$ make
$ ls -l os/linux/rt3070sta.ko
-rw-r--r-- 1 beat beat 8809768 2011-01-30 21:58 rt3070st...
make 完了後 os/linux/ 以下に rt3070sta.ko が作成されてい...
* bc10 用追加ファイルの取得 [#nc942ebf]
TI-Android-GingerBread-2.3-DevKit-1.0 を bc10 向けにビル...
github のリポジトリから git clone で取得します。~
** bc10 device build files [#s89fea9d]
以下のコマンドで TI-Android-GingerBread-2.3-DevKit-1.0 を...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/device
$ git clone git://github.com/bc-dev/2.3-device-beatcraft...
$ git clone git://github.com/bc-dev/2.3-device-common.gi...
* patch の適用とファイルの配置 [#wc12ddba]
ファイルの追加でなく、TI-Android-GingerBread-2.3-DevKit-1...
** patch の取得 [#jab036a0]
まず以下のコマンドで patch ファイルを取得します。
$ cd ~/bc10/
$ git clone git://github.com/bc-dev/2.3-patches.git
2.3-patches の中には二つのファイルが入っていますが、TI-An...
** wpa_supplicant_6 [#k04581c1]
USB wifi を接続し Android の UI から設定できるよう wpa_su...
$ cd ~/bc10/TI-Android-GingerBread-2.3-Devkit-1.0/extern...
$ cp ~/bc10/2.3-patches/external-wpa_supplicant_6.diff .
$ patch -p1 < external-wpa_supplicant_6.diff
** USB Wifi ドライバーの配置 [#sb18b052]
前項でビルドした RT3070USB のドライバーと、patch 済みのフ...
device/beatcraft/bc10/ にコピーします。~
$ cd ~/bc10/2011_0107_RT3070__RT3370_Linux_STA_v2.5.0.1_...
$ cp os/linux/rt3070sta.ko ~/bc10/TI-Android-GingerBread...
$ cp RT2870STA.dat ~/bc10/TI-Android-GingerBread-2.3-Dev...
このディレクトリに配置したファイルは android のビルド時に~
android のビルドシステムによって適正な位置にコピーされま...
詳細は ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/devic...
PRODUCT_COPY_FILES をご覧ください。~
~
なお、device/beatcraft/bc10/ の git リポジトリには~
ビルド済みの uImage、RT3070sta.ko と、RT2870STA.dat を最...
そちらを使って androud の起動イメージ を作成することもで...
kernel と その kernel に合ったドライバーはお手元でビルド...
(kernel の minor revision の違いにより insmod できないと...
以上でビルドの準備が整いました。~
* Android ビルド [#abc9999a]
android ビルドのため bc10用の環境変数を設定します。~
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/
$ source build/envsetup.sh
including device/beatcraft/bc10/vendorsetup.sh
including device/htc/passion/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. generic-eng
2. simulator
3. full_bc10-eng
Which would you like? [generic-eng] [3] ← 3 を入力し enter
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.3
TARGET_PRODUCT=full_bc10
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=GRH55
============================================
上記の設定確認後 make を実行します。~
$ make
make を実行する際はビルドの環境(CPU のコア数)に応じて -...
make 中に出力される情報を増やしたい場合は showcommands を...
make 中に実行されているコマンドのログを詳細に出力します。~
~
例:
$ time make showcommands -j8 2>&1 | tee make.log-2011042...
注:bc10ではkernelビルドとAndroid ビルドは別手順として実...
Android ビルド実行時kernelのエラーが表示されますが、Andro...
そのまま次の手順にすすんでください。kernelは上記で別途ビ...
Target system fs image: out/target/product/bc10/obj/PACK...
Install system fs image: out/target/product/bc10/system....
Installed file list: out/target/product/bc10/installed-f...
DroidDoc took 132 sec. to write docs to out/target/commo...
in kernel rule
make -C kernel ARCH=arm CROSS_COMPILE=../prebuilt/linux-...
...<略>...
*** You have not yet configured your kernel!
*** (missing kernel config file ".config")
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[3]: *** [silentoldconfig] エラー 1
make[2]: *** [silentoldconfig] エラー 2
CHK include/linux/version.h
make[1]: *** `include/config/kernel.release' に必要なタ...
make[1]: *** 未完了のジョブを待っています....
UPD include/linux/version.h
make[1]: ディレクトリ `/home/beat/bc10/TI-Android-Ginger...
make: *** [build_kernel] エラー 2
** 追加ビルド [#mf6179a6]
上記のビルド完了後、同じ環境変数が設定されたままの状態で...
GPS用とセンサー用の HAL ライブラリモジュールを追加ビルド...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/device...
$ mm
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/device...
$ mm
* イメージ作成 [#j4b9ee56]
ビルド完了後のビルド済みファイルは bc10/TI-Android-Ginger...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/out/ta...
$ ls -al
drwxr-xr-x 8 beat beat 4096 2011-04-22 12:39 .
drwxr-xr-x 3 beat beat 4096 2011-04-21 22:22 ..
-rw-r--r-- 1 beat beat 11 2011-04-21 22:23 and...
-rw-r--r-- 1 beat beat 3298 2011-04-22 12:01 cle...
drwxr-xr-x 3 beat beat 4096 2011-04-21 22:28 data
-rw-r--r-- 1 beat beat 22691 2011-04-21 22:38 ins...
drwxr-xr-x 14 beat beat 4096 2011-04-21 22:38 obj
-rw-r--r-- 1 beat beat 230 2011-04-22 12:01 pre...
-rw-r--r-- 1 beat beat 142359 2011-04-21 22:32 ram...
drwxr-xr-x 8 beat beat 4096 2011-04-21 22:32 root
drwxr-xr-x 5 beat beat 4096 2011-04-21 22:32 sym...
drwxr-xr-x 12 beat beat 4096 2011-04-21 22:33 sys...
-rw------- 1 beat beat 105228288 2011-04-21 22:38 sys...
-rw------- 1 beat beat 1482624 2011-04-21 22:28 use...
以下のコマンドでビルドされた userland のバイナリを起動可...
$ mkdir bc10_image
$ cp -afr root/* bc10_image/
$ cp -afr system/* bc10_image/system/
$ sudo chown -R root.root bc10_image/
$ sudo chmod -R 777 bc10_image/
起動可能な配置の userland は以下のような内容になります。
$ cd bc10_image
$ ls -al
drwxrwxrwx 8 root root 4096 2011-04-22 12:39 .
drwxr-xr-x 8 beat beat 4096 2011-04-22 12:39 ..
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 data
-rwxrwxrwx 1 root root 145 2011-04-21 22:23 defau...
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 dev
-rwxrwxrwx 1 root root 904 2011-02-07 15:35 gps_i...
-rwxrwxrwx 1 root root 90084 2011-04-21 22:32 init
-rwxrwxrwx 1 root root 1677 2011-03-23 19:55 init....
-rwxrwxrwx 1 root root 917 2011-02-07 15:08 init....
-rwxrwxrwx 1 root root 15018 2011-02-07 17:15 init.rc
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 proc
drwxrwxrwx 2 root root 4096 2011-04-21 22:32 sbin
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 sys
drwxrwxrwx 12 root root 4096 2011-04-22 12:40 system
-rwxrwxrwx 1 root root 0 2011-03-23 19:55 ueven...
-rwxrwxrwx 1 root root 231 2011-02-07 21:05 ueven...
-rwxrwxrwx 1 root root 3764 2011-03-23 19:55 ueven...
* SGX SDK のインストール [#g555a2b6]
OMAP3530 の video chip PowerVR 用のドライバー TI Android ...
TI-Android-GingerBread-2.3-DevKit-1.0 に含まれていますの...
以下のようにしてビルドを行い、先に作成しておいた起動可能...
インストールします。~
** Rules.make の変更 [#ke48d729]
Make を実行するために、Rules.make 内の HOME、GRAPHICS_INS...
CSTOOL_DIR、KERNEL_INSTALL_DIR の記述をそれぞれのファイル...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/hardwa...
以下に diff の形で示してあります Rules.make の変更点は、
ここまでのビルド時の設定に従った内容になっています。~
ANDROID_ROOT は作成しておいた bc10_image のディレクトリの...
$ diff -u Rules.make.orig Rules.make
--- Rules.make.orig 2011-03-25 20:16:38.000000000 +0900
+++ Rules.make 2011-04-21 19:21:46.416467759 +0900
@@ -4,21 +4,26 @@
################# FIELDS MODIFIABLE BY THE USER #######...
#set home area HOME (relative location for all SDK oper...
-HOME=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+#HOME=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+HOME=/home/beat/bc10/TI-Android-GingerBread-2.3-DevKit-...
#Current Directory where Graphics SDK is installed
-GRAPHICS_INSTALL_DIR=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+#GRAPHICS_INSTALL_DIR=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+GRAPHICS_INSTALL_DIR=/home/beat/bc10/TI-Android-GingerB...
#Android Specific
#Path of Android Root FS
-ANDROID_ROOT=$(ANDROID_ROOT_DIR)/out/target/product/$(T...
+#ANDROID_ROOT=$(ANDROID_ROOT_DIR)/out/target/product/$(...
+ANDROID_ROOT=/home/beat/bc10/TI-Android-GingerBread-2.3...
#set toolchain root path for arm-eabi
-CSTOOL_DIR=$(ANDROID_ROOT_DIR)/prebuilt/linux-x86/toolc...
+#CSTOOL_DIR=$(ANDROID_ROOT_DIR)/prebuilt/linux-x86/tool...
+CSTOOL_DIR=/home/beat/bc10/TI-Android-GingerBread-2.3-D...
CSTOOL_PREFIX=arm-eabi-
CSTOOL_PATH=$(CSTOOL_DIR)/bin
CSTOOL_LIBSTDC++_PATH=$(CSTOOL_DIR)/arm-none-linux-gnue...
#set the kernel installation path
-KERNEL_INSTALL_DIR=$(ANDROID_ROOT_DIR)/kernel
+#KERNEL_INSTALL_DIR=$(ANDROID_ROOT_DIR)/kernel
+KERNEL_INSTALL_DIR=/home/beat/bc10/bc10-rowboat-kernel
TARGETFS_INSTALL_DIR=$(ANDROID_ROOT)
GFX_TARGETFS_KERMOD_PATH=$(TARGETFS_INSTALL_DIR)/lib/mo...
RULEs.make変更完了後make、make installを実行します。~
$ make OMAPES=3.x
$ make OMAPES=3.x install
* Kernel 以外の起動に必要なファイルのビルド [#g80eeb41]
** u-boot [#w583bb25]
u-boot-bc10 のアップデートにより、有機ELを表示デバイスの...
予め組込むように修正しています。~
また起動時の u-boot shell の入力待機時間を10秒から2秒に変...
以下のコマンドでソースコードを取得しビルドします。
$ cd ~/bc10/
$ git clone git://gitorious.org/bc10/u-boot-bc10.git u-b...
$ cd u-boot-bc10/
$ make mrproper
$ make omap3_bc10_config
arm-eabi-4.4.3のtoolchainでmakeを実行すると以下のようなリ...
arm-eabi-ld: error: u-boot.lds:34:24: OVERLAY section ty...
/bin/sh: line 1: 12830 Segmentation fault ...<略>...
このエラーを回避するために、LDのオプションを追加してmake...
$ make LD=arm-eabi-ld.bfd
有機ELを表示デバイスの初期値とする設定は u-boot-bc10 内の~
include/configs/omap3_bc10.h に以下のように記述しています...
u-boot-bc10/include/configs$ vi omap3_bc10.h
#define CONFIG_EXTRA_ENV_SETTINGS \
"loadaddr=0x82000000\0" \
"usbtty=cdc_acm\0" \
"console=ttyS2,115200n8\0" \
"androidconsole=ttyS2\0" \
"mem=256M\0" \
"vram=12M\0" \
"dvimode=1024x768MR-24@60\0" \
"defaultdisplay=lcd\0" \
"mmcroot=/dev/mmcblk0p2 rw\0" \
"mmcrootfstype=ext3 rootwait\0" \
"nandroot=/dev/mtdblock4 rw\0" \
これは、以下の boot.scr と同じ設定内容になります。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行してありますが、...
ビルド後 u-boot.bin は SDカードFATパーティションに MLO フ...
(必ず MLO ファイルを最初に FATパーティションにコピーする...
** x-loader [#r82ab56e]
以下のコマンドでソースコードを取得しビルドします。
$ cd ~/bc10/
$ git clone git://gitorious.org/~bc-dev/x-load-omap3/x-l...
$ cd x-load-bc10/
$ git checkout -t -b bc10 origin/bc10
$ make omap3530bc10_config
$ make
x-load.bin は OMAP BootROMの仕様とフォーマットが合ってい...
SDカードに書きこんでもブートローダとして動作させることが...
この問題を解決するため signGP というツールで x-load.bin ...
~
signGP の実行ファイルは以下の場所からダウンロードすること...
http://beagleboard.googlecode.com/files/signGP ~
ダウンロードした signGP は実行権を付けて以下のように実行...
$ signGP x-load.bin
実行後 x-load.bin.ift というファイルが生成されていますの...
これを MLO という名前に変更します。~
$ mv x-load.bin.ift MLO
MLO は SDカードFATパーティションの先頭に書き込むためのフ...
この名前になっていないと OMAP3530 内のブートロムコードが...
* 起動用 SD カードの作成 [#o13ac30f]
[[bc10/booting 起動用SDカード作成 >http://labs.beatcraft....
手順に従って作成していきます。~
この作成手順はSDカード用です。~
(bc10 は、設計上マイクロSDからのブートは出来ません。)~
~
SDカードのパーティション配置、ファイル配置の概略は以下の...
- FAT32パーティション
-- X-Loader
-- U-Boot
-- Android 化 Linux kernel
- Linuxパーティション
-- Android ルートファイルシステム
作業環境は Linux を想定しています。~
作業手順は以下のようになります。~
+ パーティションの初期化・設定
+ ファイルシステムのフォーマット
+ ファイルの配置
以下の手順は主に[[LinuxBootDiskFormat(code.google.com):...
** SDカードのアンマウント [#s015a679]
このあとパーティション操作やフォーマット作業をおこなうた...
SDカードがマウントされている場合には、まずアンマウントを...
以下のようにSDカードがマウントされているとします。~
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdd1 400M 94M 307M 24% /media/disk
...
アンマウントをおこないます。~
$ umount /media/disk
** パーティションの初期化・設定 [#y9078f7c]
fdiskコマンドを実行します。~
引数にはSDカードのデバイスファイルを指定します。~
この位置は作業環境によって変わりますので、事前に確認して...
以下は実行例です。~
$ sudo fdisk /dev/sdd
Command (m for help): [p]
Disk /dev/sdd: 2021 MB, 2021654528 bytes
255 heads, 63 sectors/track, 245 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id ...
/dev/sdd1 * 1 246 1974240+ c ...
Partition 1 has different physical/logical endings:
phys=(244, 254, 63) logical=(245, 200, 19)
パーティションを全て削除します。
Command (m for help): [d]
Selected partition 1
エキスパートモードにモード変更します。
Command (m for help): [x]
ヘッダ数を255に設定します。
Expert Command (m for help): [h]
Number of heads (1-256, default xxx): [255]
セクタ数を63に設定します。
Expert Command (m for help): [s]
Number of sectors (1-63, default xxx): [63]
シリンダ数の設定は使用するSDカードごとに異なります。~
以下の計算式でシリンダ数を計算します。(小数点以下切り捨...
#シリンダ数 = 小数点以下切り捨て (SDカードのバイト数 / 2...
今回の例で使用しているSDカードでは以下のようになります。
2021654528 / 255 / 63 / 512 = 245.79
-> 245
シリンダ数を設定します。今回の例では245になります。
Expert Command (m for help): [c]
Number of cylinders (1-256, default xxx): [上式で求めた値]
ノーマルモードにモード変更します。
Expert Command (m for help): [r]
FAT32パーティションを作成します。
Command (m for help): [n]
Command action
e extended
p primary partition (1-4)
[p]
Partition number (1-4): [1]
First cylinder (1-245, default 1): [(press Enter)]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-245, defau...
Command (m for help): [t]
Selected partition 1
Hex code (type L to list codes): [c]
Changed system type of partition 1 to c (W95 FAT32 (LBA))
ブートフラグを設定します。
Command (m for help): [a]
Partition number (1-4): [1]
Linuxのファイルシステム用パーティションを作成します。
Command (m for help): [n]
Command action
e extended
p primary partition (1-4)
[p]
Partition number (1-4): [2]
First cylinder (52-245, default 52): [(press Enter)]
Using default value 52
Last cylinder or +size or +sizeM or +sizeK (52-245, defa...
Using default value 245
パーティション設定を確認します。
Command (m for help): [p]
Disk /dev/sdd: 2021 MB, 2021654528 bytes
255 heads, 63 sectors/track, 245 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id ...
/dev/sdd1 * 1 51 409626 c ...
/dev/sdd2 52 245 1558305 83 ...
パーティションテーブルの変更を保存します。
Command (m for help): [w]
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with erro...
The kernel still uses the old table.
The new table will be used at the next reboot.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additio...
information.
Syncing disks.
** ファイルシステムのフォーマット [#g51c7516]
FAT32パーティションとLinuxパーティションをそれぞれフォー...
FAT32とEXT3の文字列の部分はパーティションのラベルになりま...
$ [sudo mkfs.msdos -F 32 /dev/sdd1 -n FAT32]
mkfs.msdos 2.11 (12 Mar 2005)
$ [sudo mkfs.ext3 -L EXT3 /dev/sdd2]
mke2fs 1.40-WIP (14-Nov-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
195072 inodes, 389576 blocks
19478 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=402653184
12 block groups
32768 blocks per group, 32768 fragments per group
16256 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting informatio...
* SDカードへのファイルの書き込み [#a5b17eea]
**FAT32パーティションへのファイル配置 [#g32d86a9]
1段目のブートローダであるX-Loader(MLO)は、SDカード上の配...
必ず以下のように配置してください。~
- FAT32パーティションのフォーマット後、最初に配置するよう...
- パーティション内のトップディレクトリに配置します。
$ cd ~/bc10/x-load-bc10/
$ sudo cp MLO /media/FAT32/
他のファイルには配置方法に特に規則はありません。そのままS...
$ cd ~/bc10/u-boot-bc10/
$ sudo cp u-boot.bin /media/FAT32/
$ cd ~/bc10/bc10-rowboat-kernel/arch/arm/boot/
$ sudo cp uImage /media/FAT32/
配置する順序を間違えたり手順に失敗したりした場合は、~
FAT32パーティションのフォーマットからやり直してください。~
**EXT3パーティションへの配置 [#g73e209f]
EXT3パーティションへの配置には特に制限はありません。~
bc10-image/ の中身をまるごと SDカード上にコピーします。
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/out/ta...
$ sudo cp -a * /media/EXT3/
~
以上で起動イメージのSDカード上への配置は完了です。~
念のため sync を行ってからアンマウントしてください。
$ sudo sync
$ umount /media/EXT3
$ umount /media/FAT32
* SDカードからの起動 [#w6faa303]
用意できたSDカードを bc10 のSDカードスロットに挿入して電...
Android は初回起動時に SQLite3 設定DBの作成や Dalvik Exec...
それらの起動ディスクへの書き込みを行いますので、初回起動...
~
これで bc10 向けの TI-Android-GingerBread-2.3-DevKit-1.0 ...
~
* 備考 [#ceeee919]
** ボタン配置について [#q4e5c3ef]
bc10の本体正面右側に7つのボタンがあります。~
図a.の数字で示した各ボタンは、以下のように予め設定してあ...
(図のbc10 筐体は試作用筐体です)~
1. Menu
2. Back
3. Home
4. 上
5. 左
6. 右
7. 下
#ref(keypad_android.jpg);
~
** boot.scr について [#j14f31cf]
u-boot-bc10 のアップデートにより、有機ELを表示デバイスの...
u-boot-bc10 内の include/configs/omap3_bc10.h に以下のよ...
そのため boot.scr の配置を行っていませんが、~
同じ内容の設定を boot.scr に記述して起動することも可能で...
その際は、u-boot.bin の設定は boot.scr の設定で上書きされ...
有機ELを表示デバイスの初期値とする設定の boot.scr は以下...
$ cd ~
$ vi boot.script
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 con...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init r...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n...
またHDMI-DVIコネクタ経由で外部の液晶ディスプレイなどに出...
上記 boot.scr の omapdss.def_disp=lcd を omapdss.def_disp...
解像度を設定してください。~
現在 1280x768 の解像度まで動作を確認しています。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
omapfb.mode=dvi:1024x768MR-24@60 omapdss.def_disp=dvi'
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
omapfb.mode や omapdss の詳細については、kernelソースファ...
kernel/Documentation/arm/OMAP/DSS をご覧ください~
** SDカードについて [#oaa7b071]
bc10 で動作確認をとった SDカードは以下のものになります。~
- SanDisk Ultra CLASS4 15MB/s 2GB
-- 型番:SDSDH-002G-J95
-- http://www.sandisk.co.jp/products/sd-sdhc-sdxc-cards/s...
同タイプのCLASS 2では起動、および動作が遅いという報告を受...
~
記載されている全てのSDカードの動作確認は取っておりません...
TI-Android-GingerBread-2.3-DevKit-1.0 UserGuide のページ...
~
[[SD_Card_Recommendations>http://processors.wiki.ti.com/i...
~
* 参照URL [#e90654f8]
-SGX のインストールに関して
--[[rowboat ConfigureAndBuild>http://code.google.com/p/ro...
-使用可能な USB Wifi に関して
--[[[Armadillo:06309] Re: Armadillo-440で使用可能な無線LA...
* 更新記録 [#qcd29268]
2011/04/26 初稿公開~
2011/05/27 注意事項(注:)を追加、u-bootの項目修正~
終了行:
[[bc10]]
~
#contents
~
* bc10/TI-Android-GingerBread-2.3-Devkit-1.0 [#pd6dc9a3]
~
2011年4月1日、TI-Android-GingerBread-2.3-Devkit-1.0 がリ...
~
rowboat project Blog のアナウンス~
[[http://arowboat.wordpress.com/2011/04/01/ti-android-gin...
~
このページでは TI-Android-GingerBread-2.3-Devkit-1.0 を b...
~
* 主な特徴 [#g21c8b3e]
TI-Android-GingerBread-2.3-Devkit-1.0 は、beagleboard など~
TI の ARM SoC、AM1808、OMAP35x、AM35x、AM37x、AM389x、DM3...
Android の Gingerbread branch です。~
~
詳細な情報は以下の URL をご覧ください。~
[[TI-Android-GingerBread-2.3-DevKit-1.0 ReleaseNotes>http...
[[TI-Android-GingerBread-2.3-DevKit-1.0 DeveloperGuide>ht...
[[TI-Android-GingerBread-2.3-DevKit-1.0 UserGuid>http://p...
* 作業手順 [#ka340234]
作業の流れは以下のとおりです。~
+ ビルドを実行する環境の作成
+ ソースコード取得
+ bc10-kernel と USB wifi 用 kernel module のビルド
+ bc10用変更の追加
+ ビルド
+ SGX SDK のインストール
+ SDカードへの書き込み
COLOR(red){調整のため予告無く更新することがあります。予め...
* ビルド環境作成 [#w4edb4d1]
今回の環境は以下のようになります。~
-OS: Ubuntu 10.04(64bit版)~
-JAVA: java 1.6x ~
-Android Version: TI-Android-GingerBread-2.3-DevKit-1.0 ...
COLOR(red){Android 2.3(codename : Gingerbread)以降をビ...
環境の構築は、[[Android Open Source Project の "Getting t...
"Setting up your machine" の項の手順に従って行います。
** java6 [#g91d799b]
以下のコマンドで ubuntu のリポジトリから sun java6 のパッ...
$ sudo add-apt-repository "deb http://archive.canonical....
$ sudo add-apt-repository "deb-src http://archive.canoni...
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
$ sudo update-java-alternatives -s java-6-sun
** パッケージインストール [#t10e0e6c]
以下のコマンドで ubuntu のリポジトリから必要なパッケージ...
(実際は一行ですが、shell の改行バックスラッシュで途中で...
$ sudo apt-get install git-core gnupg flex bison gperf b...
gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5...
x11proto-core-dev libx11-dev lib32readline5-dev lib32z...
* android ソースコード取得 [#nea0dd19]
** repo 設定 [#o0b0c850]
android のソースコードを取得するため repo の設定を行いま...
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
ubuntu を使っている場合は一旦ログアウトしてログインし直せ...
ログアウトせずそのまま作業したい場合は、以下のようにして ...
$ export PATH=~/bin:$PATH
** repo 初期化 [#y1d65e4e]
まず以後の作業すべてをその中で行う作業用ディレクトリを作...
$ cd ~/
$ mkdir bc10
$ cd bc10
このディレクトリ内に TI-Android-GingerBread-2.3-DevKit-1....
そこで repo init を実行します。~
(このディレクトリ名は任意です。2.3-DevKit などといった短...
変更した場合には以降の記述の PATH を自分の設定で読み替...
$ mkdir TI-Android-GingerBread-2.3-DevKit-1.0
$ cd TI-Android-GingerBread-2.3-DevKit-1.0
$ repo init -u git://gitorious.org/rowboat/manifest.git ...
** repo sync [#i804a5a7]
repo init の実行後、 repo sync を実行し DevKit のソースコ...
$ repo sync
約6GB のファイルをダウンロードしますので回線速度に応じて...
* kernel ビルド [#fed99519]
android の UI からの Wifi on/off に対応するためには~
android の userland 内に USB wifi 用の kernel module を配...
配置は android のビルド時に行われますので、ビルドを行う前...
この USB wifi の kernel module のビルドには~
ビルド実行済みの kernel ソースツリーが必要になるため、~
bc10 用 kernel を最初にビルドします。
**環境変数設定 [#x363e564]
boot に必要な x-loader、u-boot、kernel は全て android の...
cross toolchain を使用してビルドします。~
ここでは、bc10/TI-Android-GingerBread-2.3-DevKit-1.0/preb...
~
ビルド時にこの toolchain を使って cross compile が行われ...
PATH は各自の環境に合わせて変更してください。~
$ export PATH=/home/beat/bc10/TI-Android-GingerBread-2.3...
$ export ARCH=arm
$ export CROSS_COMPILE=arm-eabi-
** kernel [#m4983c49]
$ cd ~/bc10/
$ git clone git://gitorious.org/~bc-dev/rowboat/bc10-row...
$ cd ~/bc10/bc10-rowboat-kernel/
bc10向けリリースブランチに切り替えます。~
$ git checkout -t -b bc10-2.6.32 origin/bc10-2.6.32
$ make omap3_bc10_defconfig
$ make uImage
$ make modules
ビルド完了後以下のディレクトリに uImage が作成されます。~
(USB wifi 以外の kernel module を使用しない場合には、最...
$ ls ~/bc10/bc10-rowboat-kernel/arch/arm/boot/
Image Makefile bootp compressed install.sh uImage ...
* USB Wifi (RT3070USB) ドライバー ビルド [#qef844a3]
USB Wifi に対応するため RT3070USB のドライバーを追加しま...
動作を確認したデバイスは以下のものです。~
LEFT:
| メーカー | 型番 | Vendor ID | Device ID | 備考 |h
| PLANEX | [[GW-USMicroN-G>http://www.planex.co.jp/produ...
| Logitec | [[LAN-W150N/U2IPH>http://www.pro.logitec.co.j...
| Logitec | [[LAN-W150N/U2BK>http://www.pro.logitec.co.jp...
| Buffalo | [[WLI-UC-GNM>http://buffalo.jp/product/wirele...
| Buffalo | [[WLI-UC-G301N>http://buffalo.jp/products/cat...
| Buffalo | [[WLI-UC-GN>http://buffalo.jp/products/catalo...
ここでは、RT3070USB を使用している上記 USB Wifi の使用を...
~
ドライバーは [[RALINK Web>http://www.ralinktech.com/suppo...
2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO.tar.bz2 を...
~
ソースコードの入手には上記 web ページからのメールアドレス...
ダウンロードしたファイルは /home/beat/bc10/ に置いて作業...
~
ビルドには上記 kernel ビルド時に使用したのと同じ TI-Andro...
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/ の cross...
~
以下の patch を当てることで bc10 向けにクロスコンパイルで...
変更内容は、~
・bc10 向けのコンパイル設定の追加(platform、toolchain の...
・ファームウェアのリージョン設定を日本にし、設定項目例を...
・USB Wifi のベンダーID、製品IDの追加~
です。~
#ref(2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO.tar.b...
#ref(RT3070-2.5.0.1.diff)~
差分は修正後のソースを 2011_0107_RT3070_RT3370_Linux_STA_...
diff -urN 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO...
で取得しました。
注:下記のLINUX_SRCとCROSS_COMPAILEのPATHはご使用の環境に...
RT3070-2.5.0.1.diffでは以下のように設定しています。~
+LINUX_SRC = /home/beat/bc10/bc10-rowboat-kernel
+CROSS_COMPILE = /home/beat/bc10/TI-Android-GingerBread-...
・bc10 用設定の追加
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/Makef...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -23,7 +23,8 @@
RTMP_SRC_DIR = $(RT28xx_DIR)/RT$(CHIPSET)
#PLATFORM: Target platform
-PLATFORM = PC
+PLATFORM = BC10
+#PLATFORM = PC
#PLATFORM = 5VT
#PLATFORM = IKANOS_V160
#PLATFORM = IKANOS_V180
@@ -176,6 +177,11 @@
CROSS_COMPILE =
endif
+ifeq ($(PLATFORM),BC10)
+LINUX_SRC = /home/beat/bc10/bc10-rowboat-kernel
+CROSS_COMPILE = /home/beat/bc10/TI-Android-GingerBread-...
+endif
+
ifeq ($(PLATFORM),IXP)
LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux...
CROSS_COMPILE = arm-linux-
@@ -384,6 +390,9 @@
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apst...
endif
else
+ifeq ($(PLATFORM),BC10)
+ $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) ...
+else
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko ...
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta...
@@ -392,6 +401,7 @@
endif
endif
endif
+endif
release:
・リージョンコードの変更、設定例の変更
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/RT287...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -1,8 +1,8 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
-CountryRegionABand=7
-CountryCode=
+CountryRegionABand=1
+CountryCode=JP
ChannelGeography=1
SSID=11n-AP
NetworkType=Infra
@@ -18,8 +18,8 @@
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
-AuthMode=OPEN
-EncrypType=NONE
+AuthMode=authtype
+EncrypType=encrtype
WPAPSK=
DefaultKeyID=1
Key1Type=0
・Vendor_ID:Device_ID の追加
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/commo...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -104,6 +104,13 @@
{USB_DEVICE(0x13D3,0x3321)}, /* Azurewave */
{USB_DEVICE(0x07FA,0x7712)}, /* Edimax */
{USB_DEVICE(0x0789,0x0166)}, /* Edimax */
+ {USB_DEVICE(0x2019,0xED14)}, /* PLANEX added by...
+ {USB_DEVICE(0x2019,0xAB29)}, /* PLANEX added by...
+ {USB_DEVICE(0x0789,0x0164)}, /* Logitec added b...
+ {USB_DEVICE(0x0789,0x0168)}, /* Logitec added b...
+ {USB_DEVICE(0x0411,0x01a2)}, /* Buffalo added b...
+ {USB_DEVICE(0x0411,0x016f)}, /* Buffalo added b...
+ {USB_DEVICE(0x0411,0x015d)}, /* Buffalo added b...
#endif /* RT3070 */
{ }/* Terminating entry */
};
・bc10用設定の追加
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/os/li...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -11,7 +11,7 @@
HAS_XLINK=n
# Support Wpa_Supplicant
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
@@ -415,6 +415,10 @@
endif
endif
+ifeq ($(PLATFORM),BC10)
+EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -DMOD...
+endif
+
#If the kernel version of RMI is newer than 2.6.27, ple...
ifeq ($(PLATFORM),RMI)
EXTRA_CFLAGS := -D__KERNEL__ -DMODULE=1 -I$(LINUX_SRC)/...
-I$(RT28xx_DIR)/include -Wall -Wstrict-prototypes -Wno-...
-DCONFIG_IFX_ALG_QOS -DCONFIG_WAN_VLAN_SUPPORT -fomit-f...
-mno-abicalls -mlong-calls -pipe -finline-limit=100000 ...
-march=xlr -ffreestanding -march=xlr -Wa,--trap, -nost...
・GPLフラグの追加(これがないと insmod できません。)
--- 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/os/li...
+++ 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO-bc10/...
@@ -37,6 +37,7 @@
/* Otherwise post to forum in ralinktech's web site(www...
MODULE_AUTHOR("Paul Lin <paul_lin@ralinktech.com>");
MODULE_DESCRIPTION("RT2870 Wireless Lan Linux Driver");
+MODULE_LICENSE("GPL");
#ifdef CONFIG_STA_SUPPORT
#ifdef MODULE_VERSION
MODULE_VERSION(STA_DRIVER_VERSION);
配布されているソースアーカイブは拡張子が bz2 となっている...
以下のようにアーカイブの展開、patch 後 makeを実行します。~
$ cd ~/
$ tar xvfz 2011_0107_RT3070__RT3370_Linux_STA_v2.5.0.1_D...
$ patch -p0 < RT3070-2.5.0.1.diff
$ cd 2011_0107_RT3070__RT3370_Linux_STA_v2.5.0.1_DPO/
$ make
$ ls -l os/linux/rt3070sta.ko
-rw-r--r-- 1 beat beat 8809768 2011-01-30 21:58 rt3070st...
make 完了後 os/linux/ 以下に rt3070sta.ko が作成されてい...
* bc10 用追加ファイルの取得 [#nc942ebf]
TI-Android-GingerBread-2.3-DevKit-1.0 を bc10 向けにビル...
github のリポジトリから git clone で取得します。~
** bc10 device build files [#s89fea9d]
以下のコマンドで TI-Android-GingerBread-2.3-DevKit-1.0 を...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/device
$ git clone git://github.com/bc-dev/2.3-device-beatcraft...
$ git clone git://github.com/bc-dev/2.3-device-common.gi...
* patch の適用とファイルの配置 [#wc12ddba]
ファイルの追加でなく、TI-Android-GingerBread-2.3-DevKit-1...
** patch の取得 [#jab036a0]
まず以下のコマンドで patch ファイルを取得します。
$ cd ~/bc10/
$ git clone git://github.com/bc-dev/2.3-patches.git
2.3-patches の中には二つのファイルが入っていますが、TI-An...
** wpa_supplicant_6 [#k04581c1]
USB wifi を接続し Android の UI から設定できるよう wpa_su...
$ cd ~/bc10/TI-Android-GingerBread-2.3-Devkit-1.0/extern...
$ cp ~/bc10/2.3-patches/external-wpa_supplicant_6.diff .
$ patch -p1 < external-wpa_supplicant_6.diff
** USB Wifi ドライバーの配置 [#sb18b052]
前項でビルドした RT3070USB のドライバーと、patch 済みのフ...
device/beatcraft/bc10/ にコピーします。~
$ cd ~/bc10/2011_0107_RT3070__RT3370_Linux_STA_v2.5.0.1_...
$ cp os/linux/rt3070sta.ko ~/bc10/TI-Android-GingerBread...
$ cp RT2870STA.dat ~/bc10/TI-Android-GingerBread-2.3-Dev...
このディレクトリに配置したファイルは android のビルド時に~
android のビルドシステムによって適正な位置にコピーされま...
詳細は ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/devic...
PRODUCT_COPY_FILES をご覧ください。~
~
なお、device/beatcraft/bc10/ の git リポジトリには~
ビルド済みの uImage、RT3070sta.ko と、RT2870STA.dat を最...
そちらを使って androud の起動イメージ を作成することもで...
kernel と その kernel に合ったドライバーはお手元でビルド...
(kernel の minor revision の違いにより insmod できないと...
以上でビルドの準備が整いました。~
* Android ビルド [#abc9999a]
android ビルドのため bc10用の環境変数を設定します。~
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/
$ source build/envsetup.sh
including device/beatcraft/bc10/vendorsetup.sh
including device/htc/passion/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. generic-eng
2. simulator
3. full_bc10-eng
Which would you like? [generic-eng] [3] ← 3 を入力し enter
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.3
TARGET_PRODUCT=full_bc10
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=GRH55
============================================
上記の設定確認後 make を実行します。~
$ make
make を実行する際はビルドの環境(CPU のコア数)に応じて -...
make 中に出力される情報を増やしたい場合は showcommands を...
make 中に実行されているコマンドのログを詳細に出力します。~
~
例:
$ time make showcommands -j8 2>&1 | tee make.log-2011042...
注:bc10ではkernelビルドとAndroid ビルドは別手順として実...
Android ビルド実行時kernelのエラーが表示されますが、Andro...
そのまま次の手順にすすんでください。kernelは上記で別途ビ...
Target system fs image: out/target/product/bc10/obj/PACK...
Install system fs image: out/target/product/bc10/system....
Installed file list: out/target/product/bc10/installed-f...
DroidDoc took 132 sec. to write docs to out/target/commo...
in kernel rule
make -C kernel ARCH=arm CROSS_COMPILE=../prebuilt/linux-...
...<略>...
*** You have not yet configured your kernel!
*** (missing kernel config file ".config")
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[3]: *** [silentoldconfig] エラー 1
make[2]: *** [silentoldconfig] エラー 2
CHK include/linux/version.h
make[1]: *** `include/config/kernel.release' に必要なタ...
make[1]: *** 未完了のジョブを待っています....
UPD include/linux/version.h
make[1]: ディレクトリ `/home/beat/bc10/TI-Android-Ginger...
make: *** [build_kernel] エラー 2
** 追加ビルド [#mf6179a6]
上記のビルド完了後、同じ環境変数が設定されたままの状態で...
GPS用とセンサー用の HAL ライブラリモジュールを追加ビルド...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/device...
$ mm
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/device...
$ mm
* イメージ作成 [#j4b9ee56]
ビルド完了後のビルド済みファイルは bc10/TI-Android-Ginger...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/out/ta...
$ ls -al
drwxr-xr-x 8 beat beat 4096 2011-04-22 12:39 .
drwxr-xr-x 3 beat beat 4096 2011-04-21 22:22 ..
-rw-r--r-- 1 beat beat 11 2011-04-21 22:23 and...
-rw-r--r-- 1 beat beat 3298 2011-04-22 12:01 cle...
drwxr-xr-x 3 beat beat 4096 2011-04-21 22:28 data
-rw-r--r-- 1 beat beat 22691 2011-04-21 22:38 ins...
drwxr-xr-x 14 beat beat 4096 2011-04-21 22:38 obj
-rw-r--r-- 1 beat beat 230 2011-04-22 12:01 pre...
-rw-r--r-- 1 beat beat 142359 2011-04-21 22:32 ram...
drwxr-xr-x 8 beat beat 4096 2011-04-21 22:32 root
drwxr-xr-x 5 beat beat 4096 2011-04-21 22:32 sym...
drwxr-xr-x 12 beat beat 4096 2011-04-21 22:33 sys...
-rw------- 1 beat beat 105228288 2011-04-21 22:38 sys...
-rw------- 1 beat beat 1482624 2011-04-21 22:28 use...
以下のコマンドでビルドされた userland のバイナリを起動可...
$ mkdir bc10_image
$ cp -afr root/* bc10_image/
$ cp -afr system/* bc10_image/system/
$ sudo chown -R root.root bc10_image/
$ sudo chmod -R 777 bc10_image/
起動可能な配置の userland は以下のような内容になります。
$ cd bc10_image
$ ls -al
drwxrwxrwx 8 root root 4096 2011-04-22 12:39 .
drwxr-xr-x 8 beat beat 4096 2011-04-22 12:39 ..
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 data
-rwxrwxrwx 1 root root 145 2011-04-21 22:23 defau...
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 dev
-rwxrwxrwx 1 root root 904 2011-02-07 15:35 gps_i...
-rwxrwxrwx 1 root root 90084 2011-04-21 22:32 init
-rwxrwxrwx 1 root root 1677 2011-03-23 19:55 init....
-rwxrwxrwx 1 root root 917 2011-02-07 15:08 init....
-rwxrwxrwx 1 root root 15018 2011-02-07 17:15 init.rc
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 proc
drwxrwxrwx 2 root root 4096 2011-04-21 22:32 sbin
drwxrwxrwx 2 root root 4096 2011-04-21 22:23 sys
drwxrwxrwx 12 root root 4096 2011-04-22 12:40 system
-rwxrwxrwx 1 root root 0 2011-03-23 19:55 ueven...
-rwxrwxrwx 1 root root 231 2011-02-07 21:05 ueven...
-rwxrwxrwx 1 root root 3764 2011-03-23 19:55 ueven...
* SGX SDK のインストール [#g555a2b6]
OMAP3530 の video chip PowerVR 用のドライバー TI Android ...
TI-Android-GingerBread-2.3-DevKit-1.0 に含まれていますの...
以下のようにしてビルドを行い、先に作成しておいた起動可能...
インストールします。~
** Rules.make の変更 [#ke48d729]
Make を実行するために、Rules.make 内の HOME、GRAPHICS_INS...
CSTOOL_DIR、KERNEL_INSTALL_DIR の記述をそれぞれのファイル...
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/hardwa...
以下に diff の形で示してあります Rules.make の変更点は、
ここまでのビルド時の設定に従った内容になっています。~
ANDROID_ROOT は作成しておいた bc10_image のディレクトリの...
$ diff -u Rules.make.orig Rules.make
--- Rules.make.orig 2011-03-25 20:16:38.000000000 +0900
+++ Rules.make 2011-04-21 19:21:46.416467759 +0900
@@ -4,21 +4,26 @@
################# FIELDS MODIFIABLE BY THE USER #######...
#set home area HOME (relative location for all SDK oper...
-HOME=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+#HOME=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+HOME=/home/beat/bc10/TI-Android-GingerBread-2.3-DevKit-...
#Current Directory where Graphics SDK is installed
-GRAPHICS_INSTALL_DIR=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+#GRAPHICS_INSTALL_DIR=$(ANDROID_ROOT_DIR)/hardware/ti/sgx
+GRAPHICS_INSTALL_DIR=/home/beat/bc10/TI-Android-GingerB...
#Android Specific
#Path of Android Root FS
-ANDROID_ROOT=$(ANDROID_ROOT_DIR)/out/target/product/$(T...
+#ANDROID_ROOT=$(ANDROID_ROOT_DIR)/out/target/product/$(...
+ANDROID_ROOT=/home/beat/bc10/TI-Android-GingerBread-2.3...
#set toolchain root path for arm-eabi
-CSTOOL_DIR=$(ANDROID_ROOT_DIR)/prebuilt/linux-x86/toolc...
+#CSTOOL_DIR=$(ANDROID_ROOT_DIR)/prebuilt/linux-x86/tool...
+CSTOOL_DIR=/home/beat/bc10/TI-Android-GingerBread-2.3-D...
CSTOOL_PREFIX=arm-eabi-
CSTOOL_PATH=$(CSTOOL_DIR)/bin
CSTOOL_LIBSTDC++_PATH=$(CSTOOL_DIR)/arm-none-linux-gnue...
#set the kernel installation path
-KERNEL_INSTALL_DIR=$(ANDROID_ROOT_DIR)/kernel
+#KERNEL_INSTALL_DIR=$(ANDROID_ROOT_DIR)/kernel
+KERNEL_INSTALL_DIR=/home/beat/bc10/bc10-rowboat-kernel
TARGETFS_INSTALL_DIR=$(ANDROID_ROOT)
GFX_TARGETFS_KERMOD_PATH=$(TARGETFS_INSTALL_DIR)/lib/mo...
RULEs.make変更完了後make、make installを実行します。~
$ make OMAPES=3.x
$ make OMAPES=3.x install
* Kernel 以外の起動に必要なファイルのビルド [#g80eeb41]
** u-boot [#w583bb25]
u-boot-bc10 のアップデートにより、有機ELを表示デバイスの...
予め組込むように修正しています。~
また起動時の u-boot shell の入力待機時間を10秒から2秒に変...
以下のコマンドでソースコードを取得しビルドします。
$ cd ~/bc10/
$ git clone git://gitorious.org/bc10/u-boot-bc10.git u-b...
$ cd u-boot-bc10/
$ make mrproper
$ make omap3_bc10_config
arm-eabi-4.4.3のtoolchainでmakeを実行すると以下のようなリ...
arm-eabi-ld: error: u-boot.lds:34:24: OVERLAY section ty...
/bin/sh: line 1: 12830 Segmentation fault ...<略>...
このエラーを回避するために、LDのオプションを追加してmake...
$ make LD=arm-eabi-ld.bfd
有機ELを表示デバイスの初期値とする設定は u-boot-bc10 内の~
include/configs/omap3_bc10.h に以下のように記述しています...
u-boot-bc10/include/configs$ vi omap3_bc10.h
#define CONFIG_EXTRA_ENV_SETTINGS \
"loadaddr=0x82000000\0" \
"usbtty=cdc_acm\0" \
"console=ttyS2,115200n8\0" \
"androidconsole=ttyS2\0" \
"mem=256M\0" \
"vram=12M\0" \
"dvimode=1024x768MR-24@60\0" \
"defaultdisplay=lcd\0" \
"mmcroot=/dev/mmcblk0p2 rw\0" \
"mmcrootfstype=ext3 rootwait\0" \
"nandroot=/dev/mtdblock4 rw\0" \
これは、以下の boot.scr と同じ設定内容になります。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行してありますが、...
ビルド後 u-boot.bin は SDカードFATパーティションに MLO フ...
(必ず MLO ファイルを最初に FATパーティションにコピーする...
** x-loader [#r82ab56e]
以下のコマンドでソースコードを取得しビルドします。
$ cd ~/bc10/
$ git clone git://gitorious.org/~bc-dev/x-load-omap3/x-l...
$ cd x-load-bc10/
$ git checkout -t -b bc10 origin/bc10
$ make omap3530bc10_config
$ make
x-load.bin は OMAP BootROMの仕様とフォーマットが合ってい...
SDカードに書きこんでもブートローダとして動作させることが...
この問題を解決するため signGP というツールで x-load.bin ...
~
signGP の実行ファイルは以下の場所からダウンロードすること...
http://beagleboard.googlecode.com/files/signGP ~
ダウンロードした signGP は実行権を付けて以下のように実行...
$ signGP x-load.bin
実行後 x-load.bin.ift というファイルが生成されていますの...
これを MLO という名前に変更します。~
$ mv x-load.bin.ift MLO
MLO は SDカードFATパーティションの先頭に書き込むためのフ...
この名前になっていないと OMAP3530 内のブートロムコードが...
* 起動用 SD カードの作成 [#o13ac30f]
[[bc10/booting 起動用SDカード作成 >http://labs.beatcraft....
手順に従って作成していきます。~
この作成手順はSDカード用です。~
(bc10 は、設計上マイクロSDからのブートは出来ません。)~
~
SDカードのパーティション配置、ファイル配置の概略は以下の...
- FAT32パーティション
-- X-Loader
-- U-Boot
-- Android 化 Linux kernel
- Linuxパーティション
-- Android ルートファイルシステム
作業環境は Linux を想定しています。~
作業手順は以下のようになります。~
+ パーティションの初期化・設定
+ ファイルシステムのフォーマット
+ ファイルの配置
以下の手順は主に[[LinuxBootDiskFormat(code.google.com):...
** SDカードのアンマウント [#s015a679]
このあとパーティション操作やフォーマット作業をおこなうた...
SDカードがマウントされている場合には、まずアンマウントを...
以下のようにSDカードがマウントされているとします。~
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdd1 400M 94M 307M 24% /media/disk
...
アンマウントをおこないます。~
$ umount /media/disk
** パーティションの初期化・設定 [#y9078f7c]
fdiskコマンドを実行します。~
引数にはSDカードのデバイスファイルを指定します。~
この位置は作業環境によって変わりますので、事前に確認して...
以下は実行例です。~
$ sudo fdisk /dev/sdd
Command (m for help): [p]
Disk /dev/sdd: 2021 MB, 2021654528 bytes
255 heads, 63 sectors/track, 245 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id ...
/dev/sdd1 * 1 246 1974240+ c ...
Partition 1 has different physical/logical endings:
phys=(244, 254, 63) logical=(245, 200, 19)
パーティションを全て削除します。
Command (m for help): [d]
Selected partition 1
エキスパートモードにモード変更します。
Command (m for help): [x]
ヘッダ数を255に設定します。
Expert Command (m for help): [h]
Number of heads (1-256, default xxx): [255]
セクタ数を63に設定します。
Expert Command (m for help): [s]
Number of sectors (1-63, default xxx): [63]
シリンダ数の設定は使用するSDカードごとに異なります。~
以下の計算式でシリンダ数を計算します。(小数点以下切り捨...
#シリンダ数 = 小数点以下切り捨て (SDカードのバイト数 / 2...
今回の例で使用しているSDカードでは以下のようになります。
2021654528 / 255 / 63 / 512 = 245.79
-> 245
シリンダ数を設定します。今回の例では245になります。
Expert Command (m for help): [c]
Number of cylinders (1-256, default xxx): [上式で求めた値]
ノーマルモードにモード変更します。
Expert Command (m for help): [r]
FAT32パーティションを作成します。
Command (m for help): [n]
Command action
e extended
p primary partition (1-4)
[p]
Partition number (1-4): [1]
First cylinder (1-245, default 1): [(press Enter)]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-245, defau...
Command (m for help): [t]
Selected partition 1
Hex code (type L to list codes): [c]
Changed system type of partition 1 to c (W95 FAT32 (LBA))
ブートフラグを設定します。
Command (m for help): [a]
Partition number (1-4): [1]
Linuxのファイルシステム用パーティションを作成します。
Command (m for help): [n]
Command action
e extended
p primary partition (1-4)
[p]
Partition number (1-4): [2]
First cylinder (52-245, default 52): [(press Enter)]
Using default value 52
Last cylinder or +size or +sizeM or +sizeK (52-245, defa...
Using default value 245
パーティション設定を確認します。
Command (m for help): [p]
Disk /dev/sdd: 2021 MB, 2021654528 bytes
255 heads, 63 sectors/track, 245 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id ...
/dev/sdd1 * 1 51 409626 c ...
/dev/sdd2 52 245 1558305 83 ...
パーティションテーブルの変更を保存します。
Command (m for help): [w]
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with erro...
The kernel still uses the old table.
The new table will be used at the next reboot.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additio...
information.
Syncing disks.
** ファイルシステムのフォーマット [#g51c7516]
FAT32パーティションとLinuxパーティションをそれぞれフォー...
FAT32とEXT3の文字列の部分はパーティションのラベルになりま...
$ [sudo mkfs.msdos -F 32 /dev/sdd1 -n FAT32]
mkfs.msdos 2.11 (12 Mar 2005)
$ [sudo mkfs.ext3 -L EXT3 /dev/sdd2]
mke2fs 1.40-WIP (14-Nov-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
195072 inodes, 389576 blocks
19478 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=402653184
12 block groups
32768 blocks per group, 32768 fragments per group
16256 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting informatio...
* SDカードへのファイルの書き込み [#a5b17eea]
**FAT32パーティションへのファイル配置 [#g32d86a9]
1段目のブートローダであるX-Loader(MLO)は、SDカード上の配...
必ず以下のように配置してください。~
- FAT32パーティションのフォーマット後、最初に配置するよう...
- パーティション内のトップディレクトリに配置します。
$ cd ~/bc10/x-load-bc10/
$ sudo cp MLO /media/FAT32/
他のファイルには配置方法に特に規則はありません。そのままS...
$ cd ~/bc10/u-boot-bc10/
$ sudo cp u-boot.bin /media/FAT32/
$ cd ~/bc10/bc10-rowboat-kernel/arch/arm/boot/
$ sudo cp uImage /media/FAT32/
配置する順序を間違えたり手順に失敗したりした場合は、~
FAT32パーティションのフォーマットからやり直してください。~
**EXT3パーティションへの配置 [#g73e209f]
EXT3パーティションへの配置には特に制限はありません。~
bc10-image/ の中身をまるごと SDカード上にコピーします。
$ cd ~/bc10/TI-Android-GingerBread-2.3-DevKit-1.0/out/ta...
$ sudo cp -a * /media/EXT3/
~
以上で起動イメージのSDカード上への配置は完了です。~
念のため sync を行ってからアンマウントしてください。
$ sudo sync
$ umount /media/EXT3
$ umount /media/FAT32
* SDカードからの起動 [#w6faa303]
用意できたSDカードを bc10 のSDカードスロットに挿入して電...
Android は初回起動時に SQLite3 設定DBの作成や Dalvik Exec...
それらの起動ディスクへの書き込みを行いますので、初回起動...
~
これで bc10 向けの TI-Android-GingerBread-2.3-DevKit-1.0 ...
~
* 備考 [#ceeee919]
** ボタン配置について [#q4e5c3ef]
bc10の本体正面右側に7つのボタンがあります。~
図a.の数字で示した各ボタンは、以下のように予め設定してあ...
(図のbc10 筐体は試作用筐体です)~
1. Menu
2. Back
3. Home
4. 上
5. 左
6. 右
7. 下
#ref(keypad_android.jpg);
~
** boot.scr について [#j14f31cf]
u-boot-bc10 のアップデートにより、有機ELを表示デバイスの...
u-boot-bc10 内の include/configs/omap3_bc10.h に以下のよ...
そのため boot.scr の配置を行っていませんが、~
同じ内容の設定を boot.scr に記述して起動することも可能で...
その際は、u-boot.bin の設定は boot.scr の設定で上書きされ...
有機ELを表示デバイスの初期値とする設定の boot.scr は以下...
$ cd ~
$ vi boot.script
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 con...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init r...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n...
またHDMI-DVIコネクタ経由で外部の液晶ディスプレイなどに出...
上記 boot.scr の omapdss.def_disp=lcd を omapdss.def_disp...
解像度を設定してください。~
現在 1280x768 の解像度まで動作を確認しています。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
omapfb.mode=dvi:1024x768MR-24@60 omapdss.def_disp=dvi'
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
omapfb.mode や omapdss の詳細については、kernelソースファ...
kernel/Documentation/arm/OMAP/DSS をご覧ください~
** SDカードについて [#oaa7b071]
bc10 で動作確認をとった SDカードは以下のものになります。~
- SanDisk Ultra CLASS4 15MB/s 2GB
-- 型番:SDSDH-002G-J95
-- http://www.sandisk.co.jp/products/sd-sdhc-sdxc-cards/s...
同タイプのCLASS 2では起動、および動作が遅いという報告を受...
~
記載されている全てのSDカードの動作確認は取っておりません...
TI-Android-GingerBread-2.3-DevKit-1.0 UserGuide のページ...
~
[[SD_Card_Recommendations>http://processors.wiki.ti.com/i...
~
* 参照URL [#e90654f8]
-SGX のインストールに関して
--[[rowboat ConfigureAndBuild>http://code.google.com/p/ro...
-使用可能な USB Wifi に関して
--[[[Armadillo:06309] Re: Armadillo-440で使用可能な無線LA...
* 更新記録 [#qcd29268]
2011/04/26 初稿公開~
2011/05/27 注意事項(注:)を追加、u-bootの項目修正~
ページ名:
BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。